<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>What's new in Csound 6.05</title>
    <link rel="stylesheet" type="text/css" href="csound.css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" />
    <link rel="home" href="index.html" title="The Canonical Csound Reference Manual" />
    <link rel="up" href="PrefaceTop.html" title="Preface" />
    <link rel="prev" href="PrefaceGettingStarted.html" title="Getting Started with Csound" />
    <link rel="next" href="PartOverview.html" title="Part I. Overview" />
  </head>
  <body>
    <div class="navheader">
      <table width="100%" summary="Navigation header">
        <tr>
          <th colspan="3" align="center">What's new in Csound 6.05</th>
        </tr>
        <tr>
          <td width="20%" align="left"><a accesskey="p" href="PrefaceGettingStarted.html">Prev</a> </td>
          <th width="60%" align="center">Preface</th>
          <td width="20%" align="right"> <a accesskey="n" href="PartOverview.html">Next</a></td>
        </tr>
      </table>
      <hr />
    </div>
    <div class="section">
      <div class="titlepage">
        <div>
          <div>
            <h2 class="title" style="clear: both"><a id="PrefaceWhatsNew"></a>What's new in Csound 6.05</h2>
          </div>
        </div>
      </div>
      <h3><a id="idp69436608"></a>Release Notes for Csound 6.05 (2015 April)</h3>
      <p>As ever there are new facilities and numerous bug-fixes.  A major part of
  this release is the removal of a number of memory leaks and over use
  of memory.  Naturally these changes are all but invisible, just a
  smaller memory foot-print.

  Note that we track bugs and requests for enhancements via the github
  issues system, and these had a significant affect on this release.</p>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>Opcodes :
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">The opcode sndload is now deprecated.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>New Gen and Macros:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Paul Octavian Nasca's padsynth algorithm implemented as a gen.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Score:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Fixed string location calculation bug when processing score
              lines [fixes #443]</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Options:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">A short-format copyright option is available, with a fixed
              number of well-known licences (CC, etc)</li>
                <li class="listitem">New command-line option to report MIDI devices in simple
              format</li>
                <li class="listitem">New command-line option to set ksmps</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Modified Opcodes and Gens:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><span class="emphasis"><em>adsynt</em></span> handles amplitude changes
              better</li>
                <li class="listitem"><span class="emphasis"><em>sfont</em></span> has better checking for
              corruptions</li>
                <li class="listitem">better checking in physical models for out-of-range
              frequencies</li>
                <li class="listitem"><span class="emphasis"><em>ftgenonce</em></span> and others allows string
              parameters</li>
                <li class="listitem"><span class="emphasis"><em>gausstrig</em></span> reworked and extended with new
              features</li>
                <li class="listitem">use of <span class="emphasis"><em>p()</em></span> function no longer
              complains overrides the pcnt warning</li>
                <li class="listitem">fix to <span class="emphasis"><em>midirecv</em></span></li>
                <li class="listitem"><span class="emphasis"><em>OSCsend</em></span> cleans up after use
              improved</li>
                <li class="listitem"><span class="emphasis"><em>fillarray</em></span> is limited to 1 or 2
              dimensional arrays; in fact it failed silently previously for 3D
              and higher.</li>
                <li class="listitem"><span class="emphasis"><em>oscbnk</em></span> now works when the equaliser
              is used.</li>
                <li class="listitem"><span class="emphasis"><em>mp3in</em></span> now works with both mono and
              stereo input files</li>
                <li class="listitem"><span class="emphasis"><em>flooper</em></span> &amp; <span class="emphasis"><em>flooper2</em></span>
              now allow stereo tables</li>
                <li class="listitem">Release phase of <span class="emphasis"><em>expsegr</em></span> fixed</li>
                <li class="listitem">f-tables created by a large number of arguments could
              overwrite memory, now fixed</li>
                <li class="listitem">performance of <span class="emphasis"><em>plltrack</em></span> improved
              </li>
                <li class="listitem">init of arrays clarified and checked</li>
                <li class="listitem"><span class="emphasis"><em>gen23</em></span> corrected to stop an infinite
              loop</li>
                <li class="listitem">alwayson now starts from score offset; this is part of
              a fix to the long-standing problem with alwayson in CsoundVST</li>
                <li class="listitem">invalue now checks for output string size and reallocates
              memory if smaller than default string size (set at 256 bytes
              for backwards compatibility)</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Utilities:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">The srconv utility has been improved but it does not
              work well, with groups of noise in otherwise good output. We
              recommend the use of Erik de Castro Lopo's Secret Rabbit Code
              (aka libsamplerate) as providing sample rate conversion at high
              quality. srconv will be removed shortly possibly to be replaced
              by an SRC-based utility.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Frontends:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                  <p class="simpara">pnacl</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">Added interface to allow the use of Csound's MIDI input
                  system.</li>
                      <li class="listitem">Fixed audio input to conform to the latest Pepper API
                  spec.</li>
                    </ul>
                  </div>
                </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bugs fixed:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">bugs in fastabi,oscktp, phasorbnk, adsr, xadsr, hrtfer fixed.</li>
                <li class="listitem">bugs in the harmon. harmon2, harmon3 and harmon4 fixed.</li>
                <li class="listitem">Csound could crash after a parsing error, a case now removed.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          System changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">There are now checks that xin/xout types match those defined
              as part of UDO definition.</li>
                <li class="listitem">jack now has a timeout.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Many defects indicated by coverity fixed or code changed.
              Should make csound more robust in edge cases.</li>
                <li class="listitem">Parser-related changes simplifies allocation of temporary
              variables, with some new optimisations.</li>
                <li class="listitem">code for multi-thread rendering improved and stablised
              vis-a-vis redefinition of instruments.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Platform Specific:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                  <p class="simpara">iOS.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">Fixed audio callback to work correctly with lightning
                  output and Apple TV.</li>
                    </ul>
                  </div>
                </li>
                <li class="listitem">
                  <p class="simpara">Android.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">New experimental audio IO mode: csoundPerformKsmps()
                  is called from the OpenSL ES output callback. This mode can
                  be optionally enabled by passing a value of "false" to a new
                  second parameter to the CsoundObj constructor (bool isAsync).
                  The default constructor and the one-parameter sets this to
                  "true" (keeping backwards compatibility with existing
                  code).</li>
                      <li class="listitem">The OSC opcodes are included in distribution.</li>
                      <li class="listitem">
                        <p class="simpara">Android app</p>
                        <div class="itemizedlist">
                          <ul class="itemizedlist" style="list-style-type: disc; ">
                            <li class="listitem">There are new file open and save dialogs that
                      permit the user to access the SD card on the device, if
                      there is one, in addition to internal storage.</li>
                            <li class="listitem">There is a new "Save as..." button that permits
                      the user to save the csd as a new file with a new name.</li>
                            <li class="listitem">Many of the examples in the archive of Android
                      examples are now built into the app and can be run from the
                      app's menu.</li>
                            <li class="listitem">Includes now the exciter opcode.</li>
                          </ul>
                        </div>
                      </li>
                    </ul>
                  </div>
                </li>
                <li class="listitem">
                  <p class="simpara">OSX.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">Installation now places csladspa.so rather than
                  csladspa.dylib on disk.</li>
                    </ul>
                  </div>
                </li>
                <li class="listitem">
                  <p class="simpara">Linux.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">Linux is now build without FLTK threads. This removes
                  system hangs and is in line with other builds.</li>
                    </ul>
                  </div>
                </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp69541776"></a>Release Notes for Csound 6.04 (2014 November)</h3>
      <p>This new version has many extensions and fixes; many new opcodes
  and significant numbers of internal reworking.  There is a new
  frontend and iOS and Android version have seen many improvements.</p>
      <p>As ever we track bugs and requests for enhancements via the github
  issues system.  Already proposals for the next release are being
  made but the volume of changes require a release now.</p>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="pinker.html" title="pinker"><em class="citetitle">pinker</em></a>
              generates high quality pink noise.</li>
                <li class="listitem">power opcode ^ now works with array arguments.</li>
                <li class="listitem"><a class="link" href="exciter.html" title="exciter"><em class="citetitle">exciter</em></a>
              opcode, modelled on the calf plugin.</li>
                <li class="listitem"><a class="link" href="vactrol.html" title="vactrol"><em class="citetitle">vactrol</em></a>
              opcode simulates an analog envelope follower.</li>
                <li class="listitem">family of hdf5 opcodes to handle hdf5 format files.</li>
                <li class="listitem">(experimental undocumented) buchla opcode models the lowgate
              filter of Buchla.</li>
                <li class="listitem">New k-rate opcodes acting on arrays:
              <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square; "><li class="listitem">transforms: rfft, rifft, fft, fftinv</li><li class="listitem">complex product: complxprod</li><li class="listitem">polar - rectangular conversion: rect2pol, pol2rect, mags, phs</li><li class="listitem">real - complex: r2c, c2r</li><li class="listitem">windowing: window</li><li class="listitem">cepstrum: pvscpes, iceps, ceps</li><li class="listitem">column / row access: getrow, getcol, setrow, setcol</li><li class="listitem">a-rate data - k-array copy: shiftin, shiftout</li><li class="listitem">phase unwraping: unwrap</li></ul></div>
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          New Gen and Macros:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Line numbers corrected in instr statements.</li>
                <li class="listitem">New control operation, while, for looping.</li>
                <li class="listitem">A long-standing bug with macros which use the same name for an
              argument has been corrected.</li>
                <li class="listitem">Redefinition of an instrument in a single call to compile is
              flagged as an error.</li>
                <li class="listitem">ID3 header skip for mp3 files now properly implemented.</li>
                <li class="listitem">Errors induced by not defining the location of STK's raw wave
              files has been removed.</li>
                <li class="listitem">bug fixed where UDO's could not read strings from pfields.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Modified Opcodes and Gens:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">stackops opcodes deprecated.</li>
                <li class="listitem">lenarray extended to handle multi-dimensional arrays.</li>
                <li class="listitem">ftgenonce accepts string arguments correctly and multiple
              string arguments.</li>
                <li class="listitem">max and min now have initialisation-time versions.</li>
                <li class="listitem">gen23 improved regarding comments and reporting problems.</li>
                <li class="listitem">in OSCsend the port is now a k-rate value.</li>
                <li class="listitem">socksend now works at k-rate.</li>
                <li class="listitem">a number of envelope-generating opcodes are now correct in
              sample-accurate mode.</li>
                <li class="listitem">faust compilation is now lock-protected.</li>
                <li class="listitem">mp3 fixed to allow reinit to be used with it.</li>
                <li class="listitem">In remote opcode the name of the network can be set via
              the environment variable CS_NETWORK.  Defaults to en0 (OSX) or
              eth0.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Frontends:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">icsound:
                New frontend icsound is now ready for general use. icsound is
                a python interface for interactive work in the ipython notebook.
              </li>
                <li class="listitem">csdebugger:
                A number of changes and improvements have been made, like
                stepping through active instruments, better line number use.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>General usage:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Jack module now does not stop Csound if autoconnect fails.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bugs fixed:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">atsinnoi fixed.</li>
                <li class="listitem">ftsavek fixed.</li>
                <li class="listitem">sprintf fixed.</li>
                <li class="listitem">gen27 fixed, especially with extended arguments, as well as
              fixed a number of errors in extended score arguments.</li>
                <li class="listitem">Physem opcodes (guiro cabasa, sekere) fixed so second call
              works.</li>
                <li class="listitem">flooper fixed in mode 2.</li>
                <li class="listitem">OSCsend multiple fixes.</li>
                <li class="listitem">UDO fix for case of local ksmps of 1.</li>
                <li class="listitem">More changes/fixes to dssi code.</li>
                <li class="listitem">xscanu and scanu fixed.</li>
                <li class="listitem">temposcal and mincer fixed.</li>
                <li class="listitem">crash in ftload fixed.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          System changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">In server mode exit is now clean.</li>
                <li class="listitem">Fixes to rtalsa module.</li>
                <li class="listitem">Pulseaudio rt module fixes.</li>
                <li class="listitem">Fix to remove fluidEngine entries for csound instance
              (prevents crash on moduleDestroy).</li>
                <li class="listitem">Opcodes called through function calls that returned arrays
              did not correctly synthesize args as array types due to not
              converting the arg specifier to the internal format.</li>
                <li class="listitem">fixed crashing issue during note initialization for tied
              notes due to goto skipping over code.</li>
                <li class="listitem">fixed incorrect initialization of pfields when note's pfields
              length were less than instrument expected (off-by-one).</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Added Runtime Type Identification for instrument variables;
              removed use of XINCODE/XOUTCO.</li>
                <li class="listitem">fix malloc length in negative number parsing, and improved
              handling of negative numbers.</li>
                <li class="listitem">writing to circularBuffer is now atomic.</li>
                <li class="listitem">a number of memory leaks and potential dangerous code have been
              fixed.</li>
                <li class="listitem">type-inference has been extensively reworked, as have a few
              parsing areas.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          API:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"> Added API function for retrieving GEN parameters used for
              creating a table.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Platform Specific:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                  <p class="simpara">iOS.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">API Refactored for clearer method names and abstraction names (i.e.
                  CsoundBinding instead of CsoundValueCacheable).</li>
                      <li class="listitem">Updated to remove deprecated code.</li>
                      <li class="listitem">A significant amount of reworking has been done on the code.</li>
                    </ul>
                  </div>
                </li>
                <li class="listitem">
                  <p class="simpara">Android.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">API Refactored for clearer method names and abstraction names (i.e.
                  CsoundBinding instead of CsoundValueCacheable).</li>
                      <li class="listitem">Changes to enable HTML 5 with JavaScript and it is to be hoped WebGL
                  in the Csound6 Android app.</li>
                      <li class="listitem">Enabled change of screen orientation in the Csound6 app without
                  forcing a restart of the app.</li>
                      <li class="listitem">Enabled local storage (useful for saving and restoring widget
                  values, etc.).</li>
                    </ul>
                  </div>
                </li>
                <li class="listitem">
                  <p class="simpara">Windows.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">fixed pointer arithmetic that caused crashing on Windows.</li>
                      <li class="listitem">pyexec changed to use python's file opening functions to
                  prevent crash on Windows.</li>
                    </ul>
                  </div>
                </li>
                <li class="listitem">
                  <p class="simpara">OSX.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">CsoundAC now compiles.</li>
                    </ul>
                  </div>
                </li>
                <li class="listitem">
                  <p class="simpara">Linux.</p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">threadlocks bug fix on linux.</li>
                    </ul>
                  </div>
                </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp69620128"></a>Release Notes for Csound 6.03 (2014 May)</h3>
      <p>
    This new version has a large number of bug fixes (including clearing
    many tickets on SourceForge and GitHub) as well internal changes to improve
    performance.
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="printks2.html" title="printks2"><em class="citetitle"></em>prinks2</a>:
              prints a new value every time a control variable
              changes using a printf() style syntax
            </li>
                <li class="listitem"><span class="emphasis"><em>mp3sr</em></span>, <span class="emphasis"><em>mp3bitrate</em></span>,
              and <span class="emphasis"><em>mp3nchnls</em></span> to get information on mp3 files</li>
                <li class="listitem">EXPERIMENTAL: CUDA opcodes for partitioned convolution direct
                convolution and sliding phase vocoding; OpenCL opcode for
                additive synthesis
              </li>
                <li class="listitem"><a class="link" href="compilecsd.html" title="compilecsd"><em class="citetitle"></em>compilecsd</a>
              to compile instruments from a standard CSD file
            </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Orchestra:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">The argument for i() is supposed to be a variable not an
                expression. This is now enforced. (bug #90)
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Score:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">New score opcode y sets the random seed (for ~) at read time
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Options:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">There was a bug in CsOptions; the last argument was missed being
                read(issue #296)
              </li>
                <li class="listitem">As command-line options expression-opt and no-expression-opt do
                nothing in Csound6 a warning is printed
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Modified Opcodes and Gens:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">For ogg output it is possible to specify a VBR (variable block
                rate) quality.
              </li>
                <li class="listitem"><span class="emphasis"><em>dssi4cs</em></span> code has been extensively reworked
                to avoid potential memory faults.
              </li>
                <li class="listitem">Many array operations now available for i-arrays as well as
                k-arrays.
              </li>
                <li class="listitem"><span class="emphasis"><em>fillarray</em></span> will work for string arrays
              </li>
                <li class="listitem">Displays of FFT (via <span class="emphasis"><em>dispfft</em></span>) improved
              with scaling/zooming options
              </li>
                <li class="listitem">Signal flow graph opcodes are now working with a-rate array
                signals.
              </li>
                <li class="listitem">In alsa RT code the sample rate is taken from the device
              </li>
                <li class="listitem">Faust opcode system updated to latest faust API
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Utilities:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">fixed bug in lpanal
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          csound~:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">OSX - fix for running with 32-bit cpu architecture
              </li>
                <li class="listitem">Windows - csound~ now available for Windows
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Emscripten:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">This is now generally merged into the code-base
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          General usage:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">--displays now switches graphs on, as expected
              </li>
                <li class="listitem">New commandline option --get-system-sr added to obtain the
                machine's sample rate
              </li>
                <li class="listitem">New command-line option --devices[=in|out] gives a list of
                available audio devices and then exit
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">fixed the bug when tables were replaced but the size did not change
              </li>
                <li class="listitem">A number of bugs in --sample-accurate have been detected and
                fixed. This includes opcodes <span class="emphasis"><em>out</em></span>,
                <span class="emphasis"><em>outn</em></span>, and <span class="emphasis"><em>line</em></span>
              </li>
                <li class="listitem">A number of bugs in <span class="emphasis"><em>grain3</em></span> were fixed
              </li>
                <li class="listitem">Bug in str_chanel could cause a crash; fixed
              </li>
                <li class="listitem">Small bug in rtjack fixed
              </li>
                <li class="listitem">Error in resize opcode corrected
              </li>
                <li class="listitem">Fixed an unlikely bug in atsa
              </li>
                <li class="listitem">Fixed rtauhal pause issue
              </li>
                <li class="listitem">A number of bugs/untidiness fixed in GEN23
              </li>
                <li class="listitem">Array bound checks fixed
              </li>
                <li class="listitem">strings channels were not correctly set for dynamic-size
                strings, now fixed
              </li>
                <li class="listitem">memory allocation for string formatting in <span class="emphasis"><em>printfsk</em></span>
                was fixed, stopping string truncation
              </li>
                <li class="listitem"><span class="emphasis"><em>strcat</em></span> safe against overflow
              </li>
                <li class="listitem">error in compilation of arrays fixed (issue #293)
              </li>
                <li class="listitem"><span class="emphasis"><em>GetPvsChannel</em></span> fixed against a crash
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          System Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><span class="emphasis"><em>turnoff</em></span> opcode now checks that the
                instrument being affected is active
              </li>
                <li class="listitem"><span class="emphasis"><em>lenarray</em></span> can accept any array type
              </li>
                <li class="listitem">the way of rounding a table number to an integer was changed
                and is now more as expected
              </li>
                <li class="listitem">there is a new possible section in a csd file called
                &lt;CsFile...&gt; which is like csFileB but with unencoded text.
              </li>
                <li class="listitem">UDO compilation now uses the type system. This means that
                UDOs now allow any array type to be used
              </li>
                <li class="listitem">Improved orchestra parsing speeds with better algorithms
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">The whole system has been checked by the Coverity static checker
                which identified a number of (mainly minor) problems. These have
                been reviewed and checked. In particular better use of printing
                and string copying should prevent overflows
              </li>
                <li class="listitem">The type and variable system has been extensively rewritten; this
                allows better array and UDO support
              </li>
                <li class="listitem">Alignment of variables got right in all cases
              </li>
                <li class="listitem">Array copying is now using the type system to copy values; fixes
                issues with copying string arrays, f-sigs, etc
              </li>
                <li class="listitem">Always reset Csound when stopping to ensure state is clean; was
                not being reset when there was a compile error, so that next
                successful run would start with an invalid Csound engine (issue
                #305)
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          API:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">All opcodes etc now use the API memory allocation operations,
                so it is possible to replace the whole memory allocator
              </li>
                <li class="listitem">Added <span class="emphasis"><em>csoundCompileCsd</em></span> to API and
                associated new <span class="emphasis"><em>compilecsd</em></span> opcode
              </li>
                <li class="listitem">Protected <span class="emphasis"><em>csoundGetStringChannel</em></span> against
              null and short strings and added a check for string size
              </li>
                <li class="listitem">A number of API functions have had char* changed to
                const char* which reflect the usage
              </li>
              </ul>
            </div>
            <p>
          The performance engine now includes debugging capabilities to allow
          interrupting rendering and providing introspection into the engine's state
          and instrument variables. The following new functions are available by
          including the csdebug.h header:
          </p>
            <pre class="programlisting">
void csoundDebuggerInit (CSOUND *csound);
void csoundDebuggerClean (CSOUND *csound);
void csoundSetInstrumentBreakpoint (CSOUND *csound, MYFLT instr, int skip);
void csoundRemoveInstrumentBreakpoint (CSOUND *csound, MYFLT instr);
void csoundClearBreakpoints (CSOUND *csound);
void csoundSetBreakpointCallback (CSOUND *csound, breakpoint_cb_t bkpt_cb, void *userdata);
void csoundDebugContinue (CSOUND *csound);
void csoundDebugStop (CSOUND *csound);
debug_instr_t *csoundDebugGetInstrInstances(CSOUND *csound);
void csoundDebugFreeInstrInstances(CSOUND *csound, debug_instr_t *instr);
debug_variable_t *csoundDebugGetVariables(CSOUND *csound, debug_instr_t *instr);
void csoundDebugFreeVariables(CSOUND *csound, debug_variable_t *varHead);</pre>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Windows:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Soundfonts in Windows had an internal alignement problem
                which is fixed
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp69693072"></a>Release Notes for Csound 6.02</h3>
      <p>
This new version has a large number of bug fixes (including clearing
all general tickets on SourceForge). It also introduces some major new
facilities such as use as a server, code to run Csound in a browser
and a large generalisation of filter opcodes to have parameters
changeable at audio rate.
  </p>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="nstance.html" title="nstance"><em class="citetitle">nstance</em></a>
              opcode schedules a new instrument instance, storing the instance handle.
              </li>
                <li class="listitem"><a class="link" href="turnoff.html" title="turnoff"><em class="citetitle">turnoff</em></a>
              nw variant to stop a given instrument instance.
              </li>
                <li class="listitem"><a class="link" href="strfromurl.html" title="strfromurl"><em class="citetitle">strfromurl</em></a>
              to set a string from a URL.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Orchestra:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">If building supports it, a #include string can be a URL or a
              file.</li>
                <li class="listitem">A space is again permitted between a function name and the
              opening bracket for all functions allowed in Csound5 (but not in
              general).</li>
                <li class="listitem">The Csound command can start with an empty CSD in daemon mode
              (--daemon): do not exit if CSD/orchestra is not
              given, is empty or does not compile).</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Score:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">If building supports it, a #include string can be a URL or a
              file.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Modified Opcodes and Gens:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Many filters generalised to allow k- or a-rate parameters.  In
              particular it includes these:
              <div class="informaltable"><table border="0"><colgroup><col /><col /></colgroup><tbody><tr><td>areson</td><td>atonex</td></tr><tr><td>butterworth filters</td><td>fofilter</td></tr><tr><td>lowres</td><td>lowresx</td></tr><tr><td>lpf18</td><td>mode</td></tr><tr><td>moogladder</td><td>moogvcf</td></tr><tr><td>reson</td><td>resonr</td></tr><tr><td>resonx</td><td>resonz</td></tr><tr><td>statevar</td><td>tonex</td></tr></tbody></table></div>
              </li>
                <li class="listitem">The maximum number of presets in sfont increased to 16384.
              </li>
                <li class="listitem"><span class="emphasis"><em>cpsmidinn</em></span> is now more accurate.
              </li>
                <li class="listitem"><span class="emphasis"><em>max_k</em></span> now behaves like the documentation.
              There were cases when it gave strange results.
              </li>
                <li class="listitem">The vst4cs opcodes have been re-factored. FLTK code has been encapsulated.
              The build system has been updated for Csound 6.
              </li>
                <li class="listitem">In <span class="emphasis"><em>alwayson</em></span> opcode changes for better
              handling of pfields, more reliable insert of an instrument instance
              for repeating or re-started score sections.
              </li>
                <li class="listitem">The signal flow graph opcodes have replaced OpenMP
              multi-threading with pthreads, using one-time initialization
              of static structures.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Frontends:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">PNaCl is now supported as a platform, allowing Csound to run
              under the Chrome browser in all enabled operating systems.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bugs fixed:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><span class="emphasis"><em>adsynt2</em></span> opcode fixed.
              </li>
                <li class="listitem"><span class="emphasis"><em>ftgentmp</em></span> opcode fixed.
              </li>
                <li class="listitem"><span class="emphasis"><em>dates</em></span> opcode fixed.
              </li>
                <li class="listitem">fixed a bug in <span class="emphasis"><em>pvsfilter</em></span>.
              </li>
                <li class="listitem">fixed stereo out in <span class="emphasis"><em>temposcal</em></span> and
              <span class="emphasis"><em>mincer</em></span>.
              </li>
                <li class="listitem"><span class="emphasis"><em>pan2</em></span> opcode fixed.
              </li>
                <li class="listitem">index overflow in <span class="emphasis"><em>randh</em></span> and
              <span class="emphasis"><em>randi</em></span> fixed.
              </li>
                <li class="listitem">A number of fixes to CsoundVST: initialization, score
              handling, and MIDI driver initialization, so it now works for Csound 6.
              </li>
                <li class="listitem">fixed <span class="emphasis"><em>pycalln</em></span> for no inputs.
              </li>
                <li class="listitem">fixed/revised setting and use of <span class="emphasis"><em>ksmps</em></span>
              and <span class="emphasis"><em>kr</em></span> in UDOs.
              </li>
                <li class="listitem">fixed problem in sending a score event from max to csound via
              csound~ (Ticket #58).
              </li>
                <li class="listitem">If itype in <span class="emphasis"><em>chn_k</em></span> was set to 3 and
              values are set less than 1, Csound6 used to give an INIT Error.
              (Ticket #67).
              </li>
                <li class="listitem">A number of reported seg faults have been dealt with.
              </li>
                <li class="listitem"><span class="emphasis"><em>xtratim</em></span> opcode was using incorrect
              ekr value from csound instead of from instance; when used in
              conjunction with <span class="emphasis"><em>setksmps</em></span>, was causing notes
              to have very long <span class="emphasis"><em>xtratim</em></span> set and
              thus notes were effectively not getting turned off
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>System changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">A server mode is now available, accepting input via UDP (with
              --port option).
              </li>
                <li class="listitem">A longstanding bug in extract was detected and fixed. It does
              suggest that this facility is little used!
              </li>
                <li class="listitem">The way the external score generator was coded is
              substantially changed. In particular this should fix a very
              strange bug in Windows.
              </li>
                <li class="listitem">Fixed crashing bug with invalue channel callback due to
              wrong data object being pulled from csound host data.
              </li>
                <li class="listitem">Fixed bug in UDOs with no local ksmps where kcounter was
              being used incorrectly.
              </li>
                <li class="listitem">Better checking in channels.
              </li>
                <li class="listitem">(Experimental) If the environment variable CS_UDO_DIR is
              set then any files in the directory that have an .udo extension
              are automatically included at the start of the orchestra.
              This facility needs review to see if it is what is required.
              </li>
                <li class="listitem">(Experimental) There are new cuda GPGPU opcodes (source
              only): cudasynth (3 versions for additive synthesis, additive
              synthesis of fsigs and phase vocoder resynthesis) and cudanal
              (a GPGPU version of pvsanal).
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Internal changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Many attempts at faster code.
              </li>
                <li class="listitem">Type inference and parsing still improving.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>iOS:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Fixed crash where no csoundSetHostImplementedMIDIIO is
              used on iOS and no _RTMIDI value is set.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>OSX:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Fixed input device name for auhal.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp69761664"></a>Release Notes for Csound6</h3>
      <p>
  Csound6 is a significant rewrite of much of the code.  In particular
  the API is not compatible, although all orc/sco/csd works should still
  run.
</p>
      <p>
  There are new facilities, like sample accuracy and realtime mode,
  described below.
</p>
      <p>
  IMPORTANT:  The environment variable to find plugins are called
  <span class="strong"><strong>OPCODE6DIR64</strong></span> or
  <span class="strong"><strong>OPCODE6DIR</strong></span> (note the 6) so it can co-exist
  with Csound5.
</p>
      <p>
  Similarly <span class="strong"><strong>.csoundrc</strong></span> is renamed
  <span class="strong"><strong>.csound6rc</strong></span>.
</p>
      <p>
  Arrays are now mainstream, with syntax and opcode support.  They also
  exist in multidimensional format.  They are created (usually)
  with <span class="emphasis"><em>init</em></span> opcode or <span class="emphasis"><em>fillarray</em></span>.
      </p>
      <div class="informalexample">
        <pre class="programlisting">
  k1[]  <span class="opc">init</span> 4</pre>
      </div>
      <p>
  generates a k-rate 1-D array of length 4. Similarly
      </p>
      <div class="informalexample">
        <pre class="programlisting">
  a2[][] <span class="opc">init</span> 4, 4</pre>
      </div>
      <p>
  creates a square 4x4 a-rate array.
      </p>
      <div class="informalexample">
        <pre class="programlisting">
  k2[]  <span class="opc">fillarray</span> 1, 2, 3, 4</pre>
      </div>
      <p>
  creates a 4-element vector filled with 1,..4, which also defines the
  length.
</p>
      <p>
  Elements are used via indexing in [] such as k1[2] or a2[2][3].
  One dimensional arrays replace tvars, and can be used in opcodes like
  <span class="emphasis"><em>maxtab</em></span>, <span class="emphasis"><em>mintab</em></span> and
  <span class="emphasis"><em>sumtab</em></span> (see below). Array setting can be done in
  left-hand side of opcodes, i.e.:
      </p>
      <div class="informalexample">
        <pre class="programlisting">
  aSigs[0] <span class="opc">vco2</span> .1, 440
  aSigs[1] <span class="opc">vco2</span> .1, 880</pre>
      </div>
      <p>
</p>
      <p>
  The new realtime priority mode can be switched on with by passing the
  --realtime or setting the CSOUND_PARAMS field realtime_mode to 1.
  This has the following effects:
  </p>
      <div class="orderedlist">
        <ol class="orderedlist" type="1">
          <li class="listitem">all opcode audio file reading/writing is handled asynchronously
      by a separate thread.</li>
          <li class="listitem">all init-pass operations are also performed asynchronously.</li>
        </ol>
      </div>
      <p>
</p>
      <p>
  Multicore support is totally rewritten using a different algorithm for
  task-dispatch, which should use less memory and fewer locks.
</p>
      <p>
  </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                  <span class="emphasis">
                    <em>faustgen</em>
                  </span>
                </li>
                <li class="listitem"><span class="emphasis"><em>array</em></span> -- many new or revised
            opcodes -- see <a class="link" href="arrayOpcodes.html" title="Array Opcodes"><em class="citetitle">Array
            Opcodes</em></a>.</li>
                <li class="listitem"><span class="emphasis"><em>compileorc</em></span> takes a filename containing
            a collection of instrument definitions and compiles them, replacing
            existing versions. It returns 0 on success.</li>
                <li class="listitem"><span class="emphasis"><em>compilestr</em></span> is like
            <span class="emphasis"><em>compileorc</em></span> but takes a string.</li>
                <li class="listitem"><span class="emphasis"><em>readscore</em></span> runs the score preprocessor
            on a string and then schedules new events via the RT event mechanism,
            returning 0 if successful.</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Orchestra
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Note events can start and end in mid-kcycle. As this is an
            incompatible change it is only invoked when the command-line option
            --sample-accurate is specified. Note that this does not work for
            tied notes, and use of skipping initialisation has questionable
            use.</li>
                <li class="listitem">Instruments can run at local <span class="emphasis"><em>ksmps</em></span>
            values using <code class="code">setksmps iksmps</code> as in Csound 5 UDOs.</li>
                <li class="listitem">Compilation can be done at any stage, new instruments are
            added or replace old ones.  Running instances of old instrument
            definitions are not affected.  Only limitation is that header
            constants in instr 0 are read only once at the time of the
            first compilation.  Init-time code can be placed outside
            instruments in the global space, and this will be executed
            once-only following the compilation.  In this case, score event
            generation can be completely replaced by orchestra code.
            See also new opcodes <span class="emphasis"><em>compileorc</em></span> and
            <span class="emphasis"><em>compilestr</em></span>.</li>
                <li class="listitem">New syntax operators +=, -=, *= and /=.  These are more
            than syntactic sugar; please use += and -= for accumulating reverbs
            as it gives better multicore behaviour.</li>
                <li class="listitem">The opcodes <span class="emphasis"><em>add</em></span>, <span class="emphasis"><em>sub</em></span>,
            <span class="emphasis"><em>mul</em></span> and <span class="emphasis"><em>div</em></span> have been
            deleted; use the forms + - * /. Not many people were aware of these
            opcodes.</li>
                <li class="listitem">Any opcode with a single output or with no outputs can be
            used as a function. Some opcodes might require type annotation to
            resolve ambiguities, more details on the
            <a class="link" href="functional.html" title="Function Syntax in Csound6"><em class="citetitle">Function syntax in
            Csound 6</em></a>.</li>
                <li class="listitem">A statement can be broken across lines after a , = or
            arithmetic operation.</li>
                <li class="listitem">There are a range of new or recoded operations on k-valued
            arrays, most restricted to 1 dimensional arrays (vectors):
            <div class="informalexample"><pre class="programlisting">
 kans <span class="opc">minarray</span> ktab       <span class="comment">returns the smallest value in the</span>
                          <span class="comment">(possibly) multidimensional array</span>
 kans <span class="opc">maxarray</span> ktab       <span class="comment">is like mintab</span>
 kabs <span class="opc">sumarray</span> ktab       <span class="comment">returns sum of all values in the array</span>
 ktab <span class="opc">genarray</span> imin, imax[, inc]
                          <span class="comment">generates vector of values from imin</span>
                          <span class="comment">to imax by increments of inc (default 1)</span>
 ktab2 <span class="opc">maparray</span> ktab1, "sin" <span class="comment">maps the k-rate 1-arg function in</span>
                          <span class="comment">the string to every element of the vector</span>
 ktab2 <span class="opc">maparray_i</span> ktab1, "sin" <span class="comment">maps the i-rate 1-arg function</span>
                          <span class="comment">in the string to every element of the vector</span>
 ktab2 <span class="opc">slicearray</span> ktab1, istart, iend
                          <span class="comment">returns a slice of ktab1 from ktab1[istart]</span>
                          <span class="comment">to ktab1[iend]</span>
 <span class="opc">copyf2array</span> ktab, kfn    <span class="comment">copies data from an ftable to a vector</span>
 <span class="opc">copya2ftab</span>  ktab, kfn    <span class="comment">copies data from a vector to an ftable</span></pre></div>

            Arithmetic on arrays is allowed.  In particular addition,
            subtraction, multiplication, division on a element-by-element
            version is provided in arithmetic format. Similar operations
            between an array and a scalar are allowed.</li>
                <li class="listitem">Each instance of any instrument has a scratchpad of 4 values
            that persist; allows values to carry to next use of the
            instrument; hope it may be useful in legato etc.</li>
                <li class="listitem">If a table number is given as -1 then an internal sine wave
            equivalent to <code class="code">f. 0 16382 10 1</code> is used. Attempts to
            write to this table will give unpredictable results, but is not
            policed. The 16382 can be change by command line option
            --sine-size=# where the # is rounded up to a power of two.</li>
                <li class="listitem">A number of oscil opcodes now have the f-table parameter as
            optional, defaulting to the internal sine wave. (<span class="emphasis"><em>oscil1,
            oscil1i, oscil, oscil3, oscili, foscil, foscil1, loscil,
            loscil3</em></span>).</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Score:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Score lines can have multiple strings.</li>
                <li class="listitem">Change to escape characters in score strings -- they do not
            happen.</li>
                <li class="listitem">Also note the <span class="emphasis"><em>readscore</em></span> opcode.</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Modified Opcodes and Gens:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">The <span class="emphasis"><em>k()</em></span> function can take an a-rate
            argument in which case it is a call to <span class="emphasis"><em>downsamp</em></span>.
            </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Utilities
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><span class="emphasis"><em>Hetro/adsyn</em></span> analysis files can be
            machine byte-order independent if created with -X. Down side is a
            longer file and a little slower loading. The
            <span class="emphasis"><em>het_export</em></span> utility will create the independent
            format from the old, and <span class="emphasis"><em>het_import</em></span> is no
            longer necessary.</li>
                <li class="listitem"><span class="emphasis"><em>cvanal</em></span> and <span class="emphasis"><em>lpanal</em></span>
            will produce machine independent files if -X option is used. The
            <span class="emphasis"><em>convolve</em></span> and <span class="emphasis"><em>lpread</em></span> etc
            opcodes will accept either format. You are encouraged to use the
            machine independent form. Analysis files produced with -X can be used
            on other systems.</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Frontends</p>
          </li>
          <li class="listitem">
            <p>Bugs fixed:</p>
          </li>
          <li class="listitem">
            <p>System Changes:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">In Linux and OSX the treatment of locales is now thread-safe
            and local.</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Platform Changes:</p>
          </li>
          <li class="listitem">
            <p>API:
        </p>
            <p>New API functions...</p>
            <p>
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">new configuration/parameter setting functions
            <div class="informalexample"><pre class="programlisting">
        PUBLIC int csoundSetOption(CSOUND *csound, char *option);
        PUBLIC void csoundSetParams(CSOUND *csound, CSOUND_PARAMS *p);
        PUBLIC void csoundGetParams(CSOUND *csound, CSOUND_PARAMS *p);
        PUBLIC void csoundSetOutput(CSOUND *csound, char *name, char *type,
                                    char *format);
        PUBLIC void csoundSetInput(CSOUND *csound, char *name);
        PUBLIC void csoundSetMIDIInput(CSOUND *csound, char *name);
        PUBLIC void csoundSetMIDIFileInput(CSOUND *csound, char *name);
        PUBLIC void csoundSetMIDIOutput(CSOUND *csound, char *name);
        PUBLIC void csoundSetMIDIFileOutput(CSOUND *csound, char *name);</pre></div></li>
                <li class="listitem">new parsing/compilation functions
            <div class="informalexample"><pre class="programlisting">
        PUBLIC TREE *csoundParseOrc(CSOUND *csound, char *str);
        PUBLIC int csoundCompileTree(CSOUND *csound, TREE *root);
        PUBLIC int csoundCompileOrc(CSOUND *csound, const char *str);
        PUBLIC int csoundReadScore(CSOUND *csound, char *str);
        PUBLIC int csoundCompileArgs(CSOUND *, int argc, char **argv);</pre></div></li>
                <li class="listitem">new function for starting csound after first compilation
            <div class="informalexample"><pre class="programlisting">
        PUBLIC int csoundStart(CSOUND *csound);</pre></div></li>
                <li class="listitem">new software bus threadsafe getters/setters
            <div class="informalexample"><pre class="programlisting">
        PUBLIC MYFLT csoundGetControlChannel(CSOUND *csound, const char *name);
        PUBLIC void csoundSetControlChannel(CSOUND *csound, const char *name, MYFLT val);
        PUBLIC void csoundGetAudioChannel(CSOUND *csound, const char *name, MYFLT *samples);
        PUBLIC void csoundSetAudioChannel(CSOUND *csound, const char *name, MYFLT *samples);
        PUBLIC void csoundSetStringChannel(CSOUND *csound, const char *name, char *string);
        PUBLIC void csoundGetStringChannel(CSOUND *csound, const char  *name, char *string);</pre></div></li>
                <li class="listitem">new table threadsafe copy functions
            <div class="informalexample"><pre class="programlisting">
        PUBLIC void csoundTableCopyOut(CSOUND *csound, int table, MYFLT *dest);
        PUBLIC void csoundTableCopyIn(CSOUND *csound, int table, MYFLT *src);</pre></div></li>
              </ul>
            </div>
            <p>
        API has been made threadsafe so that performance and control
        can occur in separate threads (after a call to <span class="emphasis"><em>csoundStart()</em></span>
        or <span class="emphasis"><em>csoundCompile()</em></span>). Threadsafety is ensure by
        </p>
            <div class="orderedlist">
              <ol class="orderedlist" type="1">
                <li class="listitem">use of atomic read/writing to control channels</li>
                <li class="listitem">spinlocks in audio and string channels</li>
                <li class="listitem">mutexes protecting compilation, score events and table
            access.</li>
              </ol>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Internal:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">The build system is now cmake (and not scons as in
            Csound5).</li>
                <li class="listitem">A number of table access opcodes have been rewritten but
            should behave the same. Similarly <span class="emphasis"><em>diskin</em></span> and
            <span class="emphasis"><em>diskin2</em></span> now use the same code and so
            <span class="emphasis"><em>diskin</em></span> should be more stable.</li>
                <li class="listitem">The old parser is completely removed.</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>New internal functions in Csound
      </p>
            <div class="informalexample">
              <pre class="programlisting">
    void (*FlushCircularBuffer)(CSOUND *, void *);
    void *(*FileOpenAsync)(CSOUND *, void *, int, const char *, void *,
                           const char *, int, int, int);
    unsigned int (*ReadAsync)(CSOUND *, void *, MYFLT *, int);
    unsigned int (*WriteAsync)(CSOUND *, void *, MYFLT *, int);
    int  (*FSeekAsync)(CSOUND *, void *, int, int);
    char *(*GetString)(CSOUND *, MYFLT);
             <span class="comment">Extract a string originating from a score-event argument.</span></pre>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Functions removed
      </p>
            <div class="informalexample">
              <pre class="programlisting">
    void *(*FileOpen)(CSOUND *, void*, int, const char*, void*, const char*);</pre>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>
        The "private" parts of the API have been changed considerably.
        Also structures like EVTBLK have changed.
      </p>
          </li>
          <li class="listitem">
            <p>
        The LINKAGE1/FLINKAGE1 macros are renamed as
        LINKAGE_BUILTIN/FLINKAGE_BUILTIN.
      </p>
          </li>
          <li class="listitem">
            <p>Template for a-rate perf-pass opcodes is
      </p>
            <div class="informalexample">
              <pre class="programlisting">
int perf_myopcode(CSOUND *csound, MYOPCODE *p)
{
    uint32_t offset = p-&gt;h.insdshead-&gt;ksmps_offset;
    uint32_t early  = p-&gt;h.insdshead-&gt;ksmps_no_end;
    uint32_t nsmps = CS_KSMPS;
    ...
    if (UNLIKELY(offset)) memset(p-&gt;res, '\0', offset*sizeof(MYFLT));
    if (UNLIKELY(early))  {
      nsmps -= early;
      memset(&amp;p-&gt;res[nsmps], '\0', early*sizeof(MYFLT));
    }
    for (n=offset; n&lt;nsmps; n++) {
        .....
        p-&gt;res[n] = ....
    }
    return OK;
}</pre>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>String variables re-implemented</p>
          </li>
          <li class="listitem">
            <p>
        OENTRY structure has changed and has a new dependency field; please
        use this field as it is required for multicore semantics. You could
        set it to -1 and disallow all parallelism, but at least it is safe.
      </p>
          </li>
          <li class="listitem">
            <p>
        All opcodes that touch audio should take note of sample-accurate code.
      </p>
          </li>
          <li class="listitem">
            <p>
        A number of previous API functions are removed;
        <span class="emphasis"><em>OpenFile</em></span> and <span class="emphasis"><em>OpenFile2</em></span>
        both replaced by new <span class="emphasis"><em>OpenFile2</em></span> with additional
        argument.
      </p>
          </li>
          <li class="listitem">
            <p>
        Additions have been made for arg type specifications for opcodes.
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Any-types have been added, as follows:
            <div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: square; "><li class="listitem">'.' signifies a required arg of any-type</li><li class="listitem">'?' signifies an optional arg of any-type</li><li class="listitem">'*' signifies a var-arg list of any-type</li></ul></div></li>
                <li class="listitem">Arrays are now specified using "[x]" where x is a
            type-specifier. The type-specifier can be any of the of the current
            specifiers, including any-types. See <span class="emphasis"><em>Opcodes/arrays.c</em></span>
            for example usage.</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>New Type System</p>
            <p>
        A new type system has been added to Csound6, and significant changes
        have been made to the compiler. The previous system for handling types
        involved depending on the first-letter of a variable's name every time
        it was used to determine type. This meant there was a lot of re-checking
        of types. Also, adding new types was difficult, as there was a lot of
        custom code that had to be updated to check for new type letters.
      </p>
            <p>
        In Csound6, a separate system of types was added.  Types are defined as
        CS_TYPE's. The creation of variables from types and the initialisation
        of memory has been encapsulated within the CS_TYPE's. This change
        allows easier addition of new types, as well as generic calculations of
        memory pools, amongst other things.
      </p>
            <p>
        The compiler has been modified since Csound5 to now use the type system
        as an integral part of its semantic checking phase. Variables are now
        registered into a CS_VAR_POOL when they are first defined, with the
        CS_VARIABLE having a reference to its CS_TYPE.  After first time
        definition within the pool, the type information is then looked up in
        consequent variable lookups, rather than re-calculated from the variable
        name. This opens up possibilities for new variable naming and typing
        strategies, i.e. using "myVar:K" to denote a k-rate arg. This also
        opens up possibilities for user-defined types, such as
        "data myType kval, aval", then using "myVar:myType" to define a var
        of that type. (The previous is speculative, and is not an active
        proposal at this time.)
      </p>
            <p>
        The addition of the type system has formalised the static type system
        that has existed in Csound prior to Csound6. It has, arguably, simplified
        the code-base in terms of type handling, as well as laid the ground work
        for future type-related research to be integrated into Csound.
      </p>
          </li>
        </ul>
      </div>
      <p>
</p>
      <h3><a id="idp69440944"></a>New in Version 5.19 (2013 January 7)</h3>
      <p>
  This is mainly a bug-fixing release but with a number of new opcodes and
  enhanced features.
</p>
      <p>
  </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><span class="emphasis"><em>ipmidi</em></span> module for MIDI over network.</li>
              </ul>
            </div>
            <p>
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><span class="emphasis"><em>ppltrack</em></span> opcode.</li>
              </ul>
            </div>
            <p>
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="combinv.html" title="combinv"><em class="citetitle">combinv</em></a> opcode.</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>New Gen and Macros:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Better checking in <a class="link" href="GEN28.html" title="GEN28"><em class="citetitle">GEN28</em></a>.
            </li>
                <li class="listitem">
              Check range in <a class="link" href="outrg.html" title="outrg"><em class="citetitle">outrg</em></a>,
              and optionally allow wrapping.
            </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Orchestra:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Change empty statement to a warning.
            </li>
                <li class="listitem">
              Added line numbers to many input args message (new parser).
            </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Modified Opcodes and GENs:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Better error and warning messages.
            </li>
                <li class="listitem">
              <a class="link" href="loopseg.html" title="loopseg"><em class="citetitle">loopseg</em></a> now
              checks argument count.
            </li>
                <li class="listitem">
              <a class="link" href="harmon2.html" title="harmon2"><em class="citetitle">harmon2/3/4</em></a> improved.
            </li>
                <li class="listitem">
              <a class="link" href="active.html" title="active"><em class="citetitle">active</em></a>: added
              the option to skip the instances in release phase.
            </li>
                <li class="listitem">
              New and more tested implementation of ChordSpace.
            </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Bug fixed:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Fix botched optimisation in lowpass filters.
            </li>
                <li class="listitem">
              Chn opcodes fixed in Linux.
            </li>
                <li class="listitem">
              Fix bug in <a class="link" href="loscil.html" title="loscil"><em class="citetitle">loscil</em></a> with silence.
            </li>
                <li class="listitem">
              Correct <a class="link" href="GEN23.html" title="GEN23"><em class="citetitle">GEN23</em></a>
              when comment does not end in newline.
            </li>
                <li class="listitem">
              Correcting <a class="link" href="loopseg.html" title="loopseg"><em class="citetitle">loopseg</em></a>.
            </li>
                <li class="listitem">
              Number of input and output channels fixed in new parser.
            </li>
                <li class="listitem">
              Fixed <a class="link" href="GEN43.html" title="GEN43"><em class="citetitle">GEN43</em></a> issue.
            </li>
                <li class="listitem">
              Fixed <a class="link" href="fout.html" title="fout"><em class="citetitle">fout</em></a>.
            </li>
                <li class="listitem">
              <a class="link" href="centroid.html" title="centroid"><em class="citetitle">centroid</em></a>
              was likely to crash.
            </li>
                <li class="listitem">
              Minor bug in printing which lost %.
            </li>
                <li class="listitem">
              An uninitialised value in <a class="link" href="fold.html" title="fold"><em class="citetitle">fold</em></a> fixed.
            </li>
                <li class="listitem">
              Uninitalised values in <a class="link" href="dconv.html" title="dconv"><em class="citetitle">dconv</em></a> fixed.
            </li>
                <li class="listitem">
              Assignment of fsigs now works.
            </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>System Changes:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Avoid seg fault on some user errors.
            </li>
                <li class="listitem">
              Faster modal4 opcodes.
            </li>
                <li class="listitem">
              Allow cabbage compilation.
            </li>
                <li class="listitem">
              Made pfield size dynamic in event message csoundapi~.
            </li>
                <li class="listitem">
              The default output format with pipe and double float is AU.
            </li>
                <li class="listitem">
              Change to ircam with default format, '-o stdout' and pipe.
            </li>
                <li class="listitem">
              Added double float precision for output format.
            </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>Platform Changes:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                  <p>Linux:
              </p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">Spinlocks initialised (fixes bug in chn opcodes).</li>
                    </ul>
                  </div>
                  <p>
            </p>
                </li>
                <li class="listitem">
                  <p>OSX:
              </p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">
                    Improved selection of devices in rtauhal module.
                  </li>
                      <li class="listitem">
                    Added a circular buffer interface and lock-free operation to rtauhal.
                  </li>
                      <li class="listitem">
                    Fixed MacOSX installer (creating symlinks to lib_csnd.dylib).
                  </li>
                    </ul>
                  </div>
                  <p>
            </p>
                </li>
                <li class="listitem">
                  <p>Haiku:
              </p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">New platform</li>
                    </ul>
                  </div>
                  <p>
            </p>
                </li>
                <li class="listitem">
                  <p>Android:
            </p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">
                  Using -B now in android to set circular buffer size.
                </li>
                      <li class="listitem">
                  Added fluid synth opcodes for android.
                </li>
                      <li class="listitem">
                  Added inputMessage method to CsoundObj.
                </li>
                      <li class="listitem">
                  Allow CSDPlayer to be installed on SD Card.
                </li>
                    </ul>
                  </div>
                  <p>
            </p>
                </li>
                <li class="listitem">
                  <p>iOS:
            </p>
                  <div class="itemizedlist">
                    <ul class="itemizedlist" style="list-style-type: square; ">
                      <li class="listitem">
                  Improved audio routing.
                </li>
                      <li class="listitem">
                  Bottom speaker the default for iOS.
                </li>
                    </ul>
                  </div>
                  <p>
            </p>
                </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>API:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Added new API function <span class="emphasis"><em>csoundCompileFromStrings()</em></span>.
            </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
        </ul>
      </div>
      <p>
</p>
      <h3><a id="idp69956256"></a>New in Version 5.18 (2012 August 29)</h3>
      <p>
  This is mainly a bug-fixing release but with a number of new opcodes and
  enhanced features.
</p>
      <p>
  </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
      </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="centroid.html" title="centroid"><em class="citetitle">centroid</em></a>
          opcode like pvscent but acting on audio signals</li>
                <li class="listitem"><a class="link" href="cosseg.html" title="cosseg"><em class="citetitle">cosseg</em></a>
          like linseg but with cosine interpolation</li>
                <li class="listitem"><a class="link" href="cossegb.html" title="cossegb"><em class="citetitle">cossegb</em></a>
          like linsegb but with cosine interpolation</li>
                <li class="listitem"><a class="link" href="cossegr.html" title="cossegr"><em class="citetitle">cossegr</em></a>
          like linsegr but with cosine interpolation</li>
                <li class="listitem"><a class="link" href="joystick.html" title="joystick"><em class="citetitle">joystick</em></a>
          to read input values from an external joystick (Linux only)</li>
                <li class="listitem"><a class="link" href="log2.html" title="log2"><em class="citetitle">log2</em></a>
          function for logarithms base 2</li>
                <li class="listitem"><a class="link" href="platerev.html" title="platerev"><em class="citetitle">platerev</em></a>
          opcode to model a reverberating square plate</li>
                <li class="listitem"><a class="link" href="pwd.html" title="pwd"><em class="citetitle">pwd</em></a>
          opcode to determine the current working directory</li>
                <li class="listitem"><a class="link" href="readf.html" title="readf"><em class="citetitle">readf</em></a>
          opcode to read strings from a file</li>
                <li class="listitem"><a class="link" href="readfi.html" title="readfi"><em class="citetitle">readfi</em></a>
          opcode to read strings from a file on initialisation</li>
                <li class="listitem"><a class="link" href="vbap.html" title="vbap"><em class="citetitle">vbap</em></a>
          opcode like other vbap family but flexible about number
          of speakers and choice of layouts.</li>
                <li class="listitem"><a class="link" href="vbapg.html" title="vbapg"><em class="citetitle">vbapg</em></a>
          opcode like vbap but only calculate the gains on the
          channels.</li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>
          New functionality
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Changes to &lt;CsOptions&gt; to allow spaces between
              words, and escaped characters.
              </li>
                <li class="listitem">
              <a class="link" href="fout.html" title="fout"><em class="citetitle">fout</em></a>
              and <a class="link" href="fin.html" title="fin"><em class="citetitle">fin</em></a> use a
              better buffering strategy, and so are
              faster
              </li>
                <li class="listitem">
                  It is possible to specify just an orchestra with the
                  --orc flag.  This is useful when a score is not needed.
              </li>
                <li class="listitem">
              A new command-line flag --ogg flag has been added for
              easy use of ogg/vorbis output.
              </li>
                <li class="listitem">
              Added alsaseq real-time midi
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              <a class="link" href="dates.html" title="dates"><em class="citetitle">dates</em></a>
              opcode could crash on 64bit architecture; this is fixed
              </li>
                <li class="listitem">
              Some multicore interlocks were wrong.  It is believed
              that this was not actually a problem, but would be in
              the future.</li>
                <li class="listitem">
              There were cases when a file was double closed, leading
              to a crash on exit.
              </li>
                <li class="listitem">
                Two new features added in <a class="link" href="partikkel.html" title="partikkel"><em class="citetitle">partikkel</em></a>.  Panning law for
                channelmasks can now be set using a function table
                (second optional argument to partikkel) and new support
                opcodes partikkelget and partikkelset, to access and
                modify the internal mask indices of partikkel.
              </li>
                <li class="listitem">
              <a class="link" href="follow2.html" title="follow2"><em class="citetitle">follow2</em></a> was reworked do the i-rate and k-rate
              calculations are the same.
              </li>
                <li class="listitem">
              <a class="link" href="pvscent.html" title="pvscent"><em class="citetitle">pvscent</em></a> is corrected as it returned half the correct
              value.
              </li>
                <li class="listitem">
              <a class="link" href="vbaplsinit.html" title="vbaplsinit"><em class="citetitle">vbaplsinit</em></a> can create more than one speaker layout which
              vbap/vbapg can use.  Also much better diagnostics on
              incorrect layouts.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Code changed so bison 2.6 can be used.
              </li>
                <li class="listitem">
              It is assumed that libsndfile version 1.0.19 or later is
              available.
              </li>
                <li class="listitem">
              If the score is omitted a near-infinite wait is
              generated.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp69998768"></a>New in Version 5.17 (March 2012)</h3>
      <p>
  This is mainly a bug-fixing release with no major changes, but the
  number of fixes warrants a release.
  </p>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="cell.html" title="cell"><em class="citetitle">cell</em></a>
               opcode, for cellular automata</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Modified Opcodes and Gens:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">active now will report total number of active or allocated instruments if argument in zero</li>
                <li class="listitem">stsend and strecv the TCP socket opcodes reworked to a logical design </li>
                <li class="listitem">DSSI system now will take up to 9 channels </li>
                <li class="listitem">FLsavesnap works with other widgets where imin &gt; imax </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Utilities:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">csbeats better documented and built by default; also more note lengths available </li>
                <li class="listitem">Some security holes in utilities fixed </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">unirand opcode at a-rate fixed </li>
                <li class="listitem">Locale fix for floating point literals in orchestra </li>
                <li class="listitem">transegr fixed </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          System Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Score can now last longer (change to size of time variable) </li>
                <li class="listitem">An empty score gives a very long performance time (years and years) </li>
                <li class="listitem">Android code released </li>
                <li class="listitem">Changes to use of tmp files; now all are deleted at end of run (previously some were left) and the environment variable TMPDIR is used.
              </li>
                <li class="listitem">interaction between Comments, end of line and end of file fixed </li>
                <li class="listitem">Hexadecimal numbers now allowed in orchestra </li>
                <li class="listitem">Empty orchestra now not a crash  </li>
                <li class="listitem">change to macro expansion inside a string </li>
                <li class="listitem">avoid infinite loop when eof in malformed score macro </li>
                <li class="listitem">fixed macroname-with-args diagnostics and memory leak </li>
                <li class="listitem">change to preprocessor: {{ }} inside "..." and better diagnostics </li>
                <li class="listitem">fix windows installer so it removes full $INSTDIR\bin from PATH during uninstall: this cleans up the PATH environment variable when uninstalling on
      Windows.  Previously, it was leaving a trailing "\bin" on the PATH.</li>
                <li class="listitem">CsoundAC MusicModel class more usable by C++ programs </li>
                <li class="listitem">ftcps had been missed as a function </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Many! Some messages quietened, code improvements etc </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70028288"></a>New in Version 5.16 (February 2012)</h3>
      <p>
    The major change is that the new parser is now the default. The old
    parser is still available in case of difficulty but the new has been
    given extensive testing since the start of the year, including
    complete restructuring of macro expansion.
    A side effect is that the runtime of most orchestras is faster,
    although parsing is slower. There are a few optimisations implemented
    like constant folding in simple cases. Line numbers and file names
    are traced better than before.
  </p>
      <p>
    Some memory leaks also fixed.
  </p>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Opcodes adapted from SuperCollider by Tito Latini:
              <a class="link" href="dust.html" title="dust"><em class="citetitle">dust</em></a>,
              <a class="link" href="dust2.html" title="dust2"><em class="citetitle">dust2</em></a>,
              <a class="link" href="gausstrig.html" title="gausstrig"><em class="citetitle">gausstrig</em></a>,
              <a class="link" href="gendy.html" title="gendy"><em class="citetitle">gendy</em></a>,
              <a class="link" href="gendyc.html" title="gendyc"><em class="citetitle">gendyc</em></a>, and
              <a class="link" href="gendyx.html" title="gendyx"><em class="citetitle">gendyx</em></a>.
              </li>
                <li class="listitem">Fractal noise generator by Tito Latini:
              <a class="link" href="fractalnoise.html" title="fractalnoise"><em class="citetitle">fractalnoise</em></a>.
              </li>
                <li class="listitem">Opcodes for accessing table values by direct indexing, by John ffitch:
              <a class="link" href="ptable.html" title="ptable"><em class="citetitle">ptable</em></a>,
              <a class="link" href="ptablei.html" title="ptablei"><em class="citetitle">ptablei</em></a>,
              <a class="link" href="ptable3.html" title="ptable3"><em class="citetitle">ptable3</em></a>, and
              <a class="link" href="ptablew.html" title="ptablew"><em class="citetitle">ptablew</em></a>. These opcodes
              are respectively like
              <a class="link" href="table.html" title="table"><em class="citetitle">table</em></a>,
              <a class="link" href="tablei.html" title="tablei"><em class="citetitle">tablei</em></a>,
              <a class="link" href="table3.html" title="table3"><em class="citetitle">table3</em></a>, and
              <a class="link" href="tablew.html" title="tablew"><em class="citetitle">tablew</em></a>, but they do not
              require a power-of-2 table size.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Modified Opcodes and Gens:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">There was a fence post problem in tab opcode that could falsely report a reference out of range.</li>
                <li class="listitem">GEN15 mis-called gens 13 and 14 internally, using uninitialised values voice amplitude. Problem fixed.</li>
                <li class="listitem">fmbell now takes an optional argument to control the sustain time.</li>
                <li class="listitem">Change to pvsbasic for tab to table conversions.</li>
                <li class="listitem">poscil is now polymorphic, allowing k- or a-rate amplitude and frequency.</li>
                <li class="listitem">p() and i() changed when argument at k-rate.</li>
                <li class="listitem">gen49 deferred now works.</li>
                <li class="listitem">gen23 now available deferred.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Utilities:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Checked for use with the new parser in memory files.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Frontends:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Table access added to csoundapi~ via new get/set methods.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Many in new parser related to precedence and multicore.</li>
                <li class="listitem">Better diagnostics when orchestra file/csd is missing.</li>
                <li class="listitem">csd file: fix CsFileB and CsSampleB.</li>
                <li class="listitem">Fixed score statement 'n'.</li>
                <li class="listitem">Fixed bug in diskin2 leading to infinite loop.</li>
                <li class="listitem">Fixed bug causing crossfade noise in hrtfmove.</li>
                <li class="listitem">Fixed unlikely buffer overflows in some utilities.</li>
                <li class="listitem">Avoid segfault in midicN.</li>
                <li class="listitem">Bug in mp3in in skip=0 case fixed.</li>
                <li class="listitem">'r' score statement fixed with respect to macros.</li>
                <li class="listitem">sndwarp could segfault.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          System Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Preprocessor #if #else #endin working.</li>
                <li class="listitem">#includes depth now limited rather than infinite recursion.</li>
                <li class="listitem">Really turn off all displays if --nodisplays or -d is used; fixes bug where using -d or --nodisplays would still cause the
              winFLTK.c csoundModuleInit to setup display callbacks; bug caused with python TK apps and CsoundYield_FLTK being called.</li>
                <li class="listitem">Memory leak in mp3in and mp3len fixed.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Very, very, very many! And the new parser...</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70077088"></a>New in Version 5.15 (December 2011)</h3>
      <p>
  </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><em class="citetitle">ftab2tab</em>
              opcode.</li>
                <li class="listitem"><a class="link" href="tab2pvs.html" title="tab2pvs"><em class="citetitle">tab2pvs</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="pvs2tab.html" title="pvs2tab"><em class="citetitle">pvs2tab</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="cpumeter.html" title="cpumeter"><em class="citetitle">cpumeter</em></a> opcode, (not really new but now available in OSX)</li>
                <li class="listitem"><em class="citetitle">minmax</em>
              opcode.</li>
                <li class="listitem"><em class="citetitle">(EXPERIMENTAL) ftresize</em>
              opcode.</li>
                <li class="listitem"><em class="citetitle">(EXPERIMENTAL) ftresizei</em>
              opcode.</li>
                <li class="listitem"><a class="link" href="hrtfearly.html" title="hrtfearly"><em class="citetitle">hrtfearly</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="hrtfreverb.html" title="hrtfreverb"><em class="citetitle">hrtfreverb</em></a>
              opcode.</li>
              </ul>
            </div>
            <p>
        </p>
            <p>
          New Gen and Macros
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Code to allow GEN49 to be deferred [NB does not seem to work] </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Modified Opcodes and Gens
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">socksend and sockrecv no longer uses MTFU check and work on Windows </li>
                <li class="listitem">mpulse changed so if next event is at negative time use the absolute value </li>
                <li class="listitem">serial opcode now runs on Windows as will as Un*x </li>
                <li class="listitem">out, out2, outq, outh, outo outx and out32 are now identical opcodes and will take up to as many arguments as nchnls. This replaces the current remapping of opcodes </li>
                <li class="listitem">turnoff2 now polymorphic wrt S and k types (ie accepts instrumnet names) </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bugs fixed:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"> GEN42 fixed </li>
                <li class="listitem">jacko: fixed a segfault removing the unused JackSessionID option </li>
                <li class="listitem">doppler memory leak fixed </li>
                <li class="listitem">transegr fixed in release mode when skipping most of envelope </li>
                <li class="listitem">FLPack now agrees with manual </li>
                <li class="listitem">max_k now agrees with manual </li>
                <li class="listitem">hrtfreverb fixed </li>
                <li class="listitem">atsa code now works on Windows in more cases </li>
                <li class="listitem">tabmorph bug fixed </li>
                <li class="listitem">fixed problem with user-defined opcodes having no outputs </li>
                <li class="listitem"> Various fixes to * ... */ comments </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>System Changes:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"> Various licence issues sorted </li>
                <li class="listitem">Loris is no longer part of the Csound tree </li>
                <li class="listitem">Memory leaks fixed </li>
                <li class="listitem">If no score is given a dummy that runs for over 100 years is created </li>
                <li class="listitem">All score processing takes place in memory without temporary files </li>
                <li class="listitem">String memory now expandable and no size limitation </li>
                <li class="listitem">#if #else #end now in new parser </li>
                <li class="listitem">Adjustments to MIDI file precision in output </li>
                <li class="listitem">On OSX move from Coreaudio to AuHAL </li>
                <li class="listitem">Multicore now safe for ZAK, Channels and modifying tables </li>
                <li class="listitem">New coremidi module </li>
                <li class="listitem">Virtual Keyboard improved:
                 1) Dropdown for choosing base octave (the one that
                 starts with the virtual key mapped to physical key
                 Z). Default value is 5 which is backwards compatible.
                 2) Shift-X mappings which add two octaves to X
                 mappings for a total of 4 octaves playable from the
                 physical keyboard (starting from selected base octave).
                 3) Control-N / Control-Shift-N mappings to increment
                 / decrement slider for control N.
                 4) Mouse wheel now controls sliders. </li>
                <li class="listitem">tsig type for vectors </li>
                <li class="listitem">tsigs and fsigs allowed as arguments in UDOs </li>
                <li class="listitem">API: Minor version upped </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Very, very, very many! </li>
                <li class="listitem">
              </li>
                <li class="listitem">
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70124336"></a>New in Version 5.14 (October 2011)</h3>
      <p>
  </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="mp3len.html" title="mp3len"><em class="citetitle">mp3len</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="qnan.html" title="qnan"><em class="citetitle">qnan</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="qinf.html" title="qinf"><em class="citetitle">qinf</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="exprandi.html" title="exprandi"><em class="citetitle">
                exprandi</em></a> opcode.</li>
                <li class="listitem"><a class="link" href="cauchyi.html" title="cauchyi"><em class="citetitle">cauchyi</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="gaussi.html" title="gaussi"><em class="citetitle">gaussi</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="cpumeter.html" title="cpumeter"><em class="citetitle">cpumeter</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="linsegb.html" title="linsegb"><em class="citetitle">linsegb</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="expsegb.html" title="expsegb"><em class="citetitle">expsegb</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="transegb.html" title="transegb"><em class="citetitle">transegb</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="expsegba.html" title="expsegba"><em class="citetitle">expsegba</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="pvsgain.html" title="pvsgain"><em class="citetitle">pvsgain</em></a>
              opcode.</li>
                <li class="listitem">
                <a class="link" href="pvsbufread2.html" title="pvsbufread2"><em class="citetitle">pvsbufread2</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="serialBegin.html" title="serialBegin"><em class="citetitle">serial</em></a>
              opcodes.</li>
                <li class="listitem"><a class="link" href="lua.html" title="Lua Opcodes"><em class="citetitle">lua
              opcodes</em></a> opcodes.</li>
                <li class="listitem">plustab opcode.</li>
                <li class="listitem">multtab opcode.</li>
                <li class="listitem"><a class="link" href="maxarray.html" title="maxarray"><em class="citetitle">maxarray</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="minarray.html" title="minarray"><em class="citetitle">minarray</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="sumarray.html" title="sumarray"><em class="citetitle">sumarray</em></a>
              opcode.</li>
                <li class="listitem"><a class="link" href="scalearray.html" title="scalearray"><em class="citetitle">scalearray</em></a>
              opcode.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          New functionality
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">beats processor renamed to csbeats and distributed </li>
                <li class="listitem">mkdb utility to provide a catalogue of plugin
              libraries/opcodes </li>
                <li class="listitem">ladspa library build in default system </li>
                <li class="listitem">macros are now expanded inside string in the score </li>
                <li class="listitem">there in an until .. do .. od looping syntax
              (in the new parser only) </li>
                <li class="listitem">SIGPIPE signals are ignored rather than causing Csound to exit </li>
                <li class="listitem">It is possible to use vectors of k-rate values,
              named t-variable.  They are initialised to a fixed sizw
              with init adncan be read with a simple [] syntax.
              assignment to elements is only via =.  There are also a
              few new opcodes that provide wider functionality.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
        </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"> reading values to fill tables was broken with
            respect to comments</li>
                <li class="listitem">internal error in wii_data fixed </li>
                <li class="listitem">pvsshift fixed </li>
                <li class="listitem">jacko fixed </li>
                <li class="listitem">gen23 minor fixes </li>
                <li class="listitem">wiimote fixed </li>
                <li class="listitem">atsaadd fixed </li>
                <li class="listitem">compress fixed to work with 0dbfs </li>
                <li class="listitem">pvsbufread corrected with respect to position
            counting </li>
                <li class="listitem">tempo opcode fixed </li>
                <li class="listitem">CsFileB section in .csd files had a bug, now fixed </li>
                <li class="listitem">deferred gen01 tables could have wrong size </li>
                <li class="listitem">vbap_zak made to work(!) </li>
                <li class="listitem">fixed memory issue in ATSsinoi </li>
                <li class="listitem">various fixes to cscore </li>
                <li class="listitem">various fixes to partials and tradsyn </li>
                <li class="listitem">transegr could crash in some cases</li>
                <li class="listitem">loris opcodes updated to latest version </li>
                <li class="listitem">date opcode has new base in some platforms to
            avoid overflow </li>
                <li class="listitem">pvsblur now works over reinit </li>
                <li class="listitem">diskin, diskin2 and soundin now can read up to 40
            channels </li>
                <li class="listitem">prints behaves better with rounding </li>
                <li class="listitem">fmpercfl now has working vibrato </li>
                <li class="listitem">atreson now has gain parameter at k-rate </li>
                <li class="listitem">comb opcode made safe if in and out arguments the
            same </li>
                <li class="listitem">better accuracy in line and expon </li>
                <li class="listitem">OSCsend recovers space previously lost </li>
                <li class="listitem">OSCsend can send a table as a blob with the T tag
            -- experimental and untested.</li>
                <li class="listitem">lpf18 now has an optional iskip argument </li>
                <li class="listitem">i() will also accept an i-rate value in which
            case it is a no-op </li>
                <li class="listitem">makecsd revised and extended to have options for
            MIDI and score processing and licenses </li>
                <li class="listitem">lpanal reworked to remove bugs and oddities </li>
                <li class="listitem">an issue with noise in alsa fixed
              and a click in portaudio fixed     </li>
                <li class="listitem">portaudio driver changed to be more robust on stop/exit </li>
              </ul>
            </div>
            <p>
      </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Many many changesto the new parser so it is now
              operational, but should be used with care</li>
                <li class="listitem">The multicore system is distributed in an
              experimental mode and should be used with great care.
              </li>
                <li class="listitem">
              </li>
                <li class="listitem">
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70194592"></a>New in Version 5.13 (January 2011)</h3>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="median.html" title="median"><em class="citetitle">median</em></a> opcode.</li>
                <li class="listitem"><a class="link" href="filevalid.html" title="filevalid"><em class="citetitle">filevalid</em></a>  opcode.</li>
                <li class="listitem"><a class="link" href="pvstanal.html" title="pvstanal"><em class="citetitle">pvstanal</em></a>, <a class="link" href="pvswarp.html" title="pvswarp"><em class="citetitle">pvswarp</em></a>, <a class="link" href="temposcal.html" title="temposcal"><em class="citetitle">temposcal</em></a>, <a class="link" href="pvslock.html" title="pvslock"><em class="citetitle">pvslock</em></a> spectral processing opcodes.</li>
                <li class="listitem"><a class="link" href="mincer.html" title="mincer"><em class="citetitle">mincer</em></a> opcode</li>
                <li class="listitem"><a class="link" href="fareylen.html" title="fareylen"><em class="citetitle">fareylen</em></a> sequence opcodes.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          New functionality
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Real random number generators using /dev/random (Linux only).
              </li>
                <li class="listitem">INF macro added to orchestras; z read as infinity in scores</li>
                <li class="listitem">init changed to allow multiple inits in on statement</li>
                <li class="listitem">GEN for support of farey sequences</li>
                <li class="listitem"><a class="link" href="maxalloc.html" title="maxalloc"><em class="citetitle">maxalloc</em></a>,<a class="link" href="cpuprc.html" title="cpuprc"><em class="citetitle">cpuprc</em></a>, <a class="link" href="active.html" title="active"><em class="citetitle">active</em></a> now accept named instruments.</li>
                <li class="listitem">If normalisation in pow opcodes is zero treat as 1</li>
                <li class="listitem"><a class="link" href="inch.html" title="inch"><em class="citetitle">inch</em></a> can take upto 20 inputs and outputs.</li>
                <li class="listitem"><a class="link" href="pvscale.html" title="pvscale"><em class="citetitle">pvscale</em></a>, <a class="link" href="pvsvoc.html" title="pvsvoc"><em class="citetitle">pvsvoc</em></a> and <a class="link" href="pvsmix.html" title="pvsmix"><em class="citetitle">pvsmix</em></a> now have very good spectral envelope preservation modes (1 = filtered cepstrum, 2 = true envelope).</li>
                <li class="listitem"><a class="link" href="oscil1.html" title="oscil1"><em class="citetitle">oscil1</em></a> could be static if the duration was long; now there is a
   positive minimum increment.</li>
                <li class="listitem">GEN49 now uses search paths.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Count of lines fixed in orchestras, and \ inside strings
              </li>
                <li class="listitem">Fast tab opcodes made safe from crashes</li>
                <li class="listitem">% in formated printing could crash</li>
                <li class="listitem">Double free in fgen fixed</li>
                <li class="listitem"><a class="link" href="sndwarp.html" title="sndwarp"><em class="citetitle">sndwarp</em></a> quietened (gave too many messages)</li>
                <li class="listitem">gen41 deals with positive probabilities</li>
                <li class="listitem"><a class="link" href="adsynt.html" title="adsynt"><em class="citetitle">adsynt</em></a> reworked removing many bugs</li>
                <li class="listitem"><a class="link" href="adsynt2.html" title="adsynt2"><em class="citetitle">adsynt2</em></a> phase error fixed</li>
                <li class="listitem">Bug in max number of gens fixed</li>
                <li class="listitem">Better checking in grain4</li>
                <li class="listitem">Better checking in <a class="link" href="adsyn.html" title="adsyn"><em class="citetitle">adsyn</em></a></li>
                <li class="listitem">modulus was wrong in new parser</li>
                <li class="listitem"><a class="link" href="atonex.html" title="atonex"><em class="citetitle">atonex</em></a>/<a class="link" href="tonex.html" title="tonex"><em class="citetitle">tonex</em></a> did wrong operation</li>
                <li class="listitem"><a class="link" href="mp3in.html" title="mp3in"><em class="citetitle">mp3in</em></a> could repeat sound at end of file</li>
                <li class="listitem"><a class="link" href="changed.html" title="changed"><em class="citetitle">changed</em></a> opcode initialised to zero</li>
                <li class="listitem">Serious bug in <a class="link" href="tabmorpha.html" title="tabmorpha"><em class="citetitle">tabmorpha</em></a> fixed</li>
                <li class="listitem">GEN49 has serious bug removed, so no longer incorrect silences.</li>
                <li class="listitem"><a class="link" href="partikkel.html" title="partikkel"><em class="citetitle">partikkel</em></a> opcode: fixed bug in sub-sample grain placement when
       using grain rate FM</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
   In the new parser only there are operator @ and @@ to round up the
       next integer to a power of 2 or powerof2+1
              </li>
                <li class="listitem">Score sorting made much faster</li>
                <li class="listitem">lineto improved</li>
                <li class="listitem">Named gens allowed</li>
                <li class="listitem">Various printing include instrument name if available</li>
                <li class="listitem">Command option to omit loading a library</li>
                <li class="listitem">Number of out channels no longer constrained to be number of in</li>
                <li class="listitem">Many fixes to new parser</li>
                <li class="listitem">More use of Warnings than Messages (allows for them to be switched off)</li>
                <li class="listitem">csoundSetMessageCallback reset if callback set to null</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70251712"></a>New in Version 5.12 (January 2010)</h3>
      <p>
   </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
         </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
         <a class="link" href="transegr.html" title="transegr"><em class="citetitle">transegr</em></a>
               is a version of
               the <a class="link" href="transeg.html" title="transeg"><em class="citetitle">transeg</em></a>
               opcode which has a release section which is triggered
               by midi,
               a <a class="link" href="turnoff2.html" title="turnoff2"><em class="citetitle">turnoff2</em></a>
               opcode or a negative instrument
               number <a class="link" href="i.html" title="i Statement (Instrument or Note Statement)"><em class="citetitle">i score event</em></a>.
       </li>
                <li class="listitem">
         <a class="link" href="ftgenonce.html" title="ftgenonce"><em class="citetitle">ftgenonce</em></a>
               generates a function table from within an instrument
               definition, without duplication of data.
       </li>
                <li class="listitem"><a class="link" href="passign.html" title="passign"><em class="citetitle">passign</em></a>
             allows quick initialization of i-rate variables from p-fields</li>
                <li class="listitem"><a class="link" href="crossfm.html" title="crossfm"><em class="citetitle">crossfm</em></a>
             implements crossed fm synthesis.</li>
                <li class="listitem">
         <a class="link" href="loopxseg.html" title="loopxseg"><em class="citetitle">loopxseg</em></a>
               is
               like <a class="link" href="loopseg.html" title="loopseg"><em class="citetitle">loopseg</em></a>
               but with exponential envelope.
       </li>
                <li class="listitem">
         <a class="link" href="looptseg.html" title="looptseg"><em class="citetitle">looptseg</em></a>
               is like <a class="link" href="loopseg.html" title="loopseg"><em class="citetitle">loopseg</em></a>
               but with a flexible envelope like <a class="link" href="transeg.html" title="transeg"><em class="citetitle">transeg</em></a>
       </li>
              </ul>
            </div>
            <p>
       </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
         </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
         <a class="link" href="pvshift.html" title="pvshift"><em class="citetitle">pvshift</em></a> would overwrite in double mode.
             </li>
                <li class="listitem">
         <a class="link" href="pan2.html" title="pan2"><em class="citetitle">pan2</em></a> case 3 fixed.
             </li>
                <li class="listitem">
         <a class="link" href="clockon.html" title="clockon"><em class="citetitle">clockon</em></a>
         and  <a class="link" href="clockoff.html" title="clockoff"><em class="citetitle">clockoff</em></a>
         now work again.
             </li>
                <li class="listitem">
         <a class="link" href="cross2.html" title="cross2"><em class="citetitle">cross2</em></a> and <a class="link" href="interp.html" title="interp"><em class="citetitle">interp</em></a> could have divided by zero
             </li>
                <li class="listitem">
         linecount for error messages no longer includes text
         from <a class="link" href="CommandUnifileParFile.html" title="Command Line Parameter File (.csoundrc)"><em class="citetitle">.csoundrc</em></a>
             </li>
                <li class="listitem">
         <a class="link" href="p5gconnect.html" title="p5gconnect"><em class="citetitle">p5gconnect</em></a>
         changed to use a separate thread to avoid timeout problem.
             </li>
                <li class="listitem">
         <a class="link" href="transeg.html" title="transeg"><em class="citetitle">transeg</em></a> checks argument count.
             </li>
                <li class="listitem">
         <a class="link" href="sfload.html" title="sfload"><em class="citetitle">sfload</em></a>
               used to be limited to 10 sound fonts and was not policed.
               Now open-ended.
             </li>
              </ul>
            </div>
            <p>
       </p>
          </li>
          <li class="listitem">
            <p>
         Internal Changes:
         </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
         \" allowed as an escape in orchestral strings
             </li>
                <li class="listitem">
         New parser fixed on optional arguments
             </li>
                <li class="listitem">
         Better checking of <a class="link" href="f.html" title="f Statement (or Function Table Statement)"><em class="citetitle">f</em></a> statement with negative number
             </li>
                <li class="listitem">
         Soundfonts only initialise pitches array once, in the
         soundfont opcodes.
             </li>
                <li class="listitem">
         Usual collection of gratuitous minor changes, layout and comments
             </li>
              </ul>
            </div>
            <p>
       </p>
          </li>
        </ul>
      </div>
      <p>
 </p>
      <h3><a id="idp70290592"></a>New in Version 5.11 (June 2009)</h3>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="mp3in.html" title="mp3in"><em class="citetitle">mp3in</em></a>
              allows reading of mp3 files directly in the orchestra.</li>
                <li class="listitem"><a class="link" href="wiiconnect.html" title="wiiconnect"><em class="citetitle"></em>wiiconnect</a>, <a class="link" href="wiidata.html" title="wiidata"><em class="citetitle"></em>wiidata</a>, <a class="link" href="wiisend.html" title="wiisend"><em class="citetitle"></em>wiisend</a>, <a class="link" href="wiirange.html" title="wiirange"><em class="citetitle"></em>wiirange</a> opcodes by john ffitch to recieve and send data to a wiimote controller.</li>
                <li class="listitem">New opcodes to receive data directly from a p5glove by john ffitch <a class="link" href="p5gdata.html" title="p5gdata"><em class="citetitle">p5gdata</em></a></li>
                <li class="listitem"><a class="link" href="tabsum.html" title="tabsum"><em class="citetitle">tabsum</em></a> sums sections of ftables</li>
                <li class="listitem"><a class="link" href="MixerSetLevel_i.html" title="MixerSetLevel_i"><em class="citetitle">MixerSetLevel_i</em></a> an init-time only version of <a class="link" href="MixerSetLevel.html" title="MixerSetLevel"><em class="citetitle">MixerSetLevel</em></a></li>
                <li class="listitem"><a class="link" href="doppler.html" title="doppler"><em class="citetitle">doppler</em></a>
              implements a simulation of the doppler effect.</li>
                <li class="listitem"><a class="link" href="filebit.html" title="filebit"><em class="citetitle">filebit</em></a> reports the file depth of a file.</li>
                <li class="listitem">
         The new <a class="link" href="SignalFlowGraphOpcodes.html" title="Signal Flow Graph Opcodes"><em class="citetitle">Signal
       Flow opcodes </em></a> enable the usage of
               signal flow graphs in Csound.
       </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          New functionality
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                New panning type for <a class="link" href="pan2.html" title="pan2"><em class="citetitle"></em>pan2</a> opcode
              </li>
                <li class="listitem">
                New csd score tag &lt;CsExScore&gt;.
              </li>
                <li class="listitem">
                New -Ma option for ALSA RT MIDI module which listens to all devices.
              </li>
                <li class="listitem">There is a gen49 to read mp3 files
              </li>
                <li class="listitem">
                Added rounding bin code to <a class="link" href="pvscale.html" title="pvscale"><em class="citetitle">pvscale</em></a>
              </li>
                <li class="listitem">
              Added non-power-of-2 table support for <a class="link" href="ftload.html" title="ftload"><em class="citetitle">ftload</em></a> and <a class="link" href="ftsave.html" title="ftsave"><em class="citetitle">ftsave</em></a>
              </li>
                <li class="listitem">
              GEN23 totally rewritten to be more consistent in what constitutes
       a separator and comments. (Still no /* */ comments)
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                New examples for pvs opcodes by Joachim Heintz: <a class="link" href="pvsarp.html" title="pvsarp"><em class="citetitle"></em>pvsarp</a>, <a class="link" href="pvscent.html" title="pvscent"><em class="citetitle"></em>pvscent</a>, <a class="link" href="pvsbandp.html" title="pvsbandp"><em class="citetitle"></em>pvsbandp</a>, <a class="link" href="pvsbandr.html" title="pvsbandr"><em class="citetitle"></em>pvsbandr</a>, <a class="link" href="pvsbufread.html" title="pvsbufread"><em class="citetitle"></em>pvsbufread</a>,  <a class="link" href="pvsadsyn.html" title="pvsadsyn"><em class="citetitle"></em>pvsadsyn</a>,  <a class="link" href="pvsynth.html" title="pvsynth"><em class="citetitle"></em>pvsynth</a>,  <a class="link" href="pvsblur.html" title="pvsblur"><em class="citetitle"></em>pvsblur</a>,  <a class="link" href="pvscale.html" title="pvscale"><em class="citetitle"></em>pvscale</a>,  <a class="link" href="pvscross.html" title="pvscross"><em class="citetitle"></em>pvscross</a>,  <a class="link" href="pvsfilter.html" title="pvsfilter"><em class="citetitle"></em>pvsfilter</a>,  <a class="link" href="pvsfreeze.html" title="pvsfreeze"><em class="citetitle"></em>pvsfreeze</a>,  <a class="link" href="pvshift.html" title="pvshift"><em class="citetitle"></em>pvshift</a>,  <a class="link" href="pvsmaska.html" title="pvsmaska"><em class="citetitle"></em>pvsmaska</a>,  <a class="link" href="pvsmorph.html" title="pvsmorph"><em class="citetitle"></em>pvsmorph</a>
              </li>
                <li class="listitem">Use of automatic numbering of ftables reuses table numbers
              </li>
                <li class="listitem"><a class="link" href="seed.html" title="seed"><em class="citetitle"></em>seed</a> with positive argument was wrong
              </li>
                <li class="listitem"><a class="link" href="sprintf.html" title="sprintf"><em class="citetitle"></em>sprintf</a> with an empty string printed wrong data
              </li>
                <li class="listitem"><a class="link" href="mute.html" title="mute"><em class="citetitle"></em>mute</a> now works with both numeric and named instruments
              </li>
                <li class="listitem">Small fixes in <a class="link" href="diskin.html" title="diskin"><em class="citetitle"></em>diskin</a>, and in <a class="link" href="tablexkt.html" title="tablexkt"><em class="citetitle"></em>tablexkt</a>
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">SConstruct now builds completely independent shared libraries
       for Python, Lua, and Java wrappers.
              </li>
                <li class="listitem">New Parser almost usable
              </li>
                <li class="listitem"> Redrawing of graphs fixed so that only selected ones get redrawn.
              </li>
                <li class="listitem">RT-alsa more forgiving on near sample rates
              </li>
                <li class="listitem">It is possible to have the score generated by an external program
         rather than using standard score format using
         &lt;CScore bin="translater"&gt; to call the program translater on the
         score data
              </li>
                <li class="listitem">lpc_export fixed
              </li>
                <li class="listitem">Removed limit on macro names length
              </li>
                <li class="listitem">PMAX, the number of arguments to a score event has been reduced
    by 2, and an overflow system introduced so GENs can have
    arbitrary numbers of arguments.
              </li>
                <li class="listitem">Increased API version to 2.1.
              </li>
                <li class="listitem">    New API function pointer ldmemfile2withCB() which is
       a version of ldmemfile() allowing a callback to be set and called
       exactly once to process the MEMFIL buffer after it is loaded.
              </li>
                <li class="listitem">csound-&gt;floatsize set; zero in earlier versions
              </li>
                <li class="listitem">GetChannelLock added
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70349504"></a>New in Version 5.10 (December 2008)</h3>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>
          New functionality
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                New option to listen to all MIDI devices using the portmidi realtime module. To enable listening to all devices use "-+rtmidi=portmidi -Ma".
              </li>
                <li class="listitem">Dither on output implemented; rectangular and triangular dither
    available in some cases
              </li>
                <li class="listitem"><a class="link" href="GEN20.html" title="GEN20"><em class="citetitle">GEN20</em></a> type 6 now has option to set variance
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                Locale set to C numeric to avoid , versus . problems.
              </li>
                <li class="listitem"><a class="link" href="diskin.html" title="diskin"><em class="citetitle">diskin</em></a> fixed
              </li>
                <li class="listitem"><a class="link" href="outo.html" title="outo"><em class="citetitle">outo</em></a> was broken regarding channel 6
              </li>
                <li class="listitem"><a class="link" href="pitchamdf.html" title="pitchamdf"><em class="citetitle">pitchamdf</em></a> fixed
              </li>
                <li class="listitem"><a class="link" href="zfilter2.html" title="zfilter2"><em class="citetitle">zfilter2</em></a> intialization fixed
              </li>
                <li class="listitem"><a class="link" href="s32b14.html" title="s32b14"><em class="citetitle">s32b14</em></a> fixed
              </li>
                <li class="listitem">Fixed other bugs fixed that have not been reported publicly.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
    The major version of the Csound API is increased to 2; affected csound.so as well. This means that Csound 5.10 is incompatible with applications ("front ends", "clients", or "hosts") that were built for Csound 5.08 and earlier and that use API version 1.x. These applications will need to be rebuilt to work with the current and future versions of Csound.  Csound front ends written in interpreted languages such as Python or Java may continue to work without modification.  It may also be possible to keep both an earlier version of the Csound library and an API 2.0 version on the same machine together so that new and old Csound-based applications can run side-by-side.  These changes do not in any way affect the
    compatibility of Csound orchestras and scores: all old documents should continue to work as before.
              </li>
                <li class="listitem">
                Time now counted internally in samples, overcoming a longstanding bug with rounding of time to k-rate.
              </li>
                <li class="listitem">
                Many internal changes related to branch prediction.  Some opcodes are substantially quicker.
              </li>
                <li class="listitem">
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70371360"></a>New in Version 5.09 (October 2008)</h3>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">New <a class="link" href="vosim.html" title="vosim"><em class="citetitle">vosim</em></a> opcode by Rasmus Ekman which recreates the historic VOSIM (VOcal SIMulator) technique.</li>
                <li class="listitem">New <a class="link" href="dcblock2.html" title="dcblock2"><em class="citetitle">dcblock2</em></a> opcode by Victor Lazzarini.</li>
                <li class="listitem">New Chua's oscillator model: <a class="link" href="chuap.html" title="chuap"><em class="citetitle">chuap</em></a> by Michael Gogins.</li>
                <li class="listitem">New <a class="link" href="linearalgebraopcodes.html" title="Linear Algebra Opcodes"><em class="citetitle">Linear Algebra</em></a> opcodes by Michael Gogins. Standard Linear algebra over real and complex vectors and matrices: elementwise arithmetic, norms, transpose and conjugate, inner products, matrix inverse, LU decomposition, QR decomposition, and QR-based eigenvalue decomposition. Includes copying vectors to and from a-rate signals, function tables, and f-signals.</li>
                <li class="listitem">New ambisonic opcodes: <a class="link" href="bformdec1.html" title="bformdec1"><em class="citetitle">bformdec1</em></a> and <a class="link" href="bformenc1.html" title="bformenc1"><em class="citetitle">bformenc1</em></a>. These opcodes deprecate the older <a class="link" href="bformdec.html" title="bformdec"><em class="citetitle">bformdec</em></a> and <a class="link" href="bformenc.html" title="bformenc"><em class="citetitle">bformenc</em></a>.</li>
                <li class="listitem">New Score control opcodes by Victor Lazzarini: <a class="link" href="rewindscore.html" title="rewindscore"><em class="citetitle">rewindscore</em></a> and <a class="link" href="setscorepos.html" title="setscorepos"><em class="citetitle">setscorepos</em></a>.</li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          New functionality:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                The <span class="emphasis"><em>vbap</em></span> family of opcodes (<a class="link" href="vbap4.html" title="vbap4"><em class="citetitle">vbap4</em></a>, <a class="link" href="vbap8.html" title="vbap8"><em class="citetitle">vbap8</em></a>, <a class="link" href="vbap16.html" title="vbap16"><em class="citetitle">vbap16</em></a> and <a class="link" href="vbapz.html" title="vbapz"><em class="citetitle">vbapz</em></a>) now accept k-rate variables for all their input arguments.
              </li>
                <li class="listitem">
                New pulseaudio I/O module on Linux.
              </li>
                <li class="listitem">
                New optional <span class="emphasis"><em>ienv</em></span> parameter to generate envelopes for the soundfont opcodes: <a class="link" href="sfplay.html" title="sfplay"><em class="citetitle">sfplay</em></a>,  <a class="link" href="sfplay3.html" title="sfplay3"><em class="citetitle">sfplay3</em></a>,  <a class="link" href="sfplaym.html" title="sfplaym"><em class="citetitle">sfplaym</em></a> and  <a class="link" href="sfplay3m.html" title="sfplay3m"><em class="citetitle">sfplay3m</em></a>.
              </li>
                <li class="listitem">
                Added 'skip normalisation argument'  to "tanh" named GEN routine. (See <a class="link" href="ScoreGenRef.html" title="GEN Routines"><em class="citetitle">Named GEN Routines</em></a>)
              </li>
                <li class="listitem">
                Added scheduler priority option on alsa.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                Allow scientific notation (as was in csound4!) in <a class="link" href="GEN23.html" title="GEN23"><em class="citetitle">GEN23</em></a>.
              </li>
                <li class="listitem">
                Fixed bug in FLTK initialization. Should make FLTK usage more stable.
              </li>
                <li class="listitem">
                Error on /* */ comments in orchestra fixed.
              </li>
                <li class="listitem">
                <a class="link" href="poscil.html" title="poscil"><em class="citetitle">poscil</em></a> no longer overwrites frequency if variable is shared.
              </li>
                <li class="listitem">
                <a class="link" href="printk.html" title="printk"><em class="citetitle">printk</em></a> and <a class="link" href="printks.html" title="printks"><em class="citetitle">printks</em></a> check that opcode is initialised.
              </li>
                <li class="listitem">
                Deprecate <a class="link" href="soundout.html" title="soundout"><em class="citetitle">soundout</em></a> and <a class="link" href="soundouts.html" title="soundouts"><em class="citetitle">soundouts</em></a> in favour of <a class="link" href="fout.html" title="fout"><em class="citetitle">fout</em></a>.
              </li>
                <li class="listitem">
                Fixed <a class="link" href="space.html" title="space"><em class="citetitle">space</em></a> opcode to accept non-pow-2 (deferred) tables.
              </li>
                <li class="listitem">
                Fixed <a class="link" href="pvsmorph.html" title="pvsmorph"><em class="citetitle">pvsmorph</em></a> bug.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                New parser has #include and argumentless macros.
              </li>
                <li class="listitem">
                Less casting between floats and doubles in float version.
              </li>
                <li class="listitem">
                Includes experimental multicore support.
              </li>
                <li class="listitem">
                <a class="link" href="buzz.html" title="buzz"><em class="citetitle">buzz</em></a> opcode rewritten.
              </li>
                <li class="listitem">
                Many other internal changes and small bug fixes.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70419760"></a>New in Version 5.08 (February 2008)</h3>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                <a class="link" href="imagecreate.html" title="imagecreate"><em class="citetitle">imagecreate</em></a>,
                <a class="link" href="imagesize.html" title="imagesize"><em class="citetitle">imagesize</em></a>,
                <a class="link" href="imagegetpixel.html" title="imagegetpixel"><em class="citetitle">imagegetpixel</em></a>,
                <a class="link" href="imagesetpixel.html" title="imagesetpixel"><em class="citetitle">imagesetpixel</em></a>,
                <a class="link" href="imagesave.html" title="imagesave"><em class="citetitle">imagesave</em></a>,
                <a class="link" href="imageload.html" title="imageload"><em class="citetitle">imageload</em></a> and
                <a class="link" href="imagefree.html" title="imagefree"><em class="citetitle">imagefree</em></a>: New image file processing opcodes by Cesare Marilungo to read/write png images from Csound.
              </li>
                <li class="listitem"><a class="link" href="pvsbandp.html" title="pvsbandp"><em class="citetitle">pvsbandp</em></a> and <a class="link" href="pvsbandr.html" title="pvsbandr"><em class="citetitle">pvsbandr</em></a> by John ffitch, which perform band-pass and band-reject filtering in the spectral domain on a pvs signal.</li>
                <li class="listitem">New HRTF opcodes by Brian Carty:<a class="link" href="hrtfmove.html" title="hrtfmove"><em class="citetitle">hrtfmove</em></a>, <a class="link" href="hrtfmove2.html" title="hrtfmove2"><em class="citetitle">hrtfmove2</em></a> and <a class="link" href="hrtfstat.html" title="hrtfstat"><em class="citetitle">hrtfstat</em></a>.</li>
                <li class="listitem">New waveshaping opcodes: <a class="link" href="powershape.html" title="powershape"><em class="citetitle">powershape</em></a>,
              <a class="link" href="polynomial.html" title="polynomial"><em class="citetitle">polynomial</em></a>,
              <a class="link" href="chebyshevpoly.html" title="chebyshevpoly"><em class="citetitle">chebyshevpoly</em></a>,
              <a class="link" href="pdclip.html" title="pdclip"><em class="citetitle">pdclip</em></a>,
              <a class="link" href="pdhalf.html" title="pdhalf"><em class="citetitle">pdhalf</em></a>,
              <a class="link" href="pdhalfy.html" title="pdhalfy"><em class="citetitle">pdhalfy</em></a>, and
              <a class="link" href="syncphasor.html" title="syncphasor"><em class="citetitle">syncphasor</em></a></li>
                <li class="listitem">New jack transport control opcode: <a class="link" href="jacktransport.html" title="jacktransport"><em class="citetitle">jacktransport</em></a></li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          New functionality
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Added <a class="link" href="CommandFlags.html#FlagsMinusCsdLineNums"><em class="citetitle">--csd-line-nums=</em></a> command line option to select mode for error line reporting.
              </li>
                <li class="listitem">
                New "no-carry" operator (<a class="link" href="ScoreTop.html#ScoreCarry" title="Carry"><em class="citetitle">!</em></a> ) for score language that prevents implicit carrying of p-fields in i-statements.
              </li>
                <li class="listitem">
                Added <a class="link" href="CommandFlags.html#FlagsMinusSyntaxCheckOnly"><em class="citetitle">--syntax-check-only</em></a> commandline flag (exclusive with <a class="link" href="CommandFlags.html#FlagsMinusUpperI"><em class="citetitle">--i-only</em></a>)
              </li>
                <li class="listitem">
                <span class="emphasis"><em>&lt;CsLicence&gt;</em></span> tag for <a class="link" href="CommandUnifile.html#CommandUnifileDescription" title="Description"><em class="citetitle">CSDs</em></a>. <span class="emphasis"><em>&lt;CsLicense&gt;</em></span> is accepted as an alternative to <span class="emphasis"><em>&lt;CsLicence&gt;</em></span>.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
              Changed order of outputs for <a class="link" href="hilbert.html" title="hilbert"><em class="citetitle">hilbert</em></a>. This change breaks compatibility with previous versions, but fixes the opcode and now works as documented.
              </li>
                <li class="listitem">
              Messages about loading opcode plugins modified so can be suppressed with message level flag.
              </li>
                <li class="listitem">Major changes to score error reporting; now accurately reports the line numbers for the chain of inputs for most errors.</li>
                <li class="listitem">Corrected <a class="link" href="pan2.html" title="pan2"><em class="citetitle">pan2</em></a> so it agrees with documentation.</li>
                <li class="listitem">
                <a class="link" href="CommandUnifile.html#CommandUnifileDescription" title="Description"><em class="citetitle">&lt;CsVersion&gt;</em></a> tag works again according to the manual.</li>
                <li class="listitem">
                Fixed the { and } score looping statements. Added missing documentation for them and ~, &amp;, |, and # operators in score expressions.
              </li>
                <li class="listitem">
                <a class="link" href="hilbert.html" title="hilbert"><em class="citetitle">hilbert</em></a> had its outputs reversed, now correct. Manual example updated.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
          <li class="listitem">
            <p>
          Internal Changes:
          </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Change to gettext localisation; French and Columbian-Spanish translations available.</li>
                <li class="listitem">
                Internal changes to <a class="link" href="partikkel.html" title="partikkel"><em class="citetitle">partikkel</em></a>, interpolation of waveform read and windowing, allowing more precise pitch synchronous granular synthesis. Updated examples for <a class="link" href="partikkel.html" title="partikkel"><em class="citetitle">partikkel</em></a>.
              </li>
                <li class="listitem">
                <a class="link" href="pvscale.html" title="pvscale"><em class="citetitle">pvscale</em></a>: Improved algorithm for SDFT case so no ampltitude variation.
              </li>
              </ul>
            </div>
            <p>
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
      <h3><a id="idp70466112"></a>New in Version 5.07 (October 2007)</h3>
      <p>
      </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New opcodes:
            </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="pan2.html" title="pan2"><em class="citetitle">pan2</em></a>: a stereo panning opcode</li>
                <li class="listitem"><a class="link" href="cpsmidinn.html" title="cpsmidinn"><em class="citetitle">cpsmidinn</em></a>, <a class="link" href="pchmidinn.html" title="pchmidinn"><em class="citetitle">pchmidinn</em></a>, <a class="link" href="octmidinn.html" title="octmidinn"><em class="citetitle">octmidinn</em></a>: converters for MIDI note numbers</li>
                <li class="listitem"><a class="link" href="fluidSetInterpMethod.html" title="fluidSetInterpMethod"><em class="citetitle">fluidSetInterpMethod</em></a>: interpolation in fluid sound fonts</li>
                <li class="listitem"><a class="link" href="sflooper.html" title="sflooper"><em class="citetitle">sflooper</em></a>: a soundfont version of <a class="link" href="flooper2.html" title="flooper2"><em class="citetitle">flooper2</em></a></li>
                <li class="listitem"><a class="link" href="pvsbuffer.html" title="pvsbuffer"><em class="citetitle">pvsbuffer</em></a> and <a class="link" href="pvsbufread.html" title="pvsbufread"><em class="citetitle">pvsbufread</em></a>: buffering/reading of fsigs for delays/timescale changes.</li>
              </ul>
            </div>
            <p>
          </p>
          </li>
          <li class="listitem">
            <p>
            New functionality
            </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">
                  <p>SDFT - the Sliding Discrete Fourier Transform -- added seamlessly to <a class="link" href="pvsanal.html" title="pvsanal"><em class="citetitle">pvsanal</em></a>, etc opcodes if the overlap is less than the ksmps or less than 10. Some pvsXXX opcodes extended to take a-rate parameters when sliding.
                </p>
                </li>
                <li class="listitem">
                  <p>New feature (<a class="link" href="CommandFlagsCategory.html#FlagsCatMinusUpperO"><em class="citetitle">-O null</em></a> / <a class="link" href="CommandFlagsCategory.html#FlagsCatMinusUpperO"><em class="citetitle">--logfile=null</em></a>) that disables all messages and printing to the console.
                </p>
                </li>
              </ul>
            </div>
            <p>
          </p>
          </li>
          <li class="listitem">
            <p>Bug fixes and improvements:
            </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem"><a class="link" href="partikkel.html" title="partikkel"><em class="citetitle">partikkel</em></a> -- particle synthesis had an inadvertent bug, now fixed.</li>
                <li class="listitem">Closing of MIDI input on Windows(MM) failed; now fixed</li>
                <li class="listitem"><a class="link" href="fluidEngine.html" title="fluidEngine"><em class="citetitle">fluidEngine</em></a> opcode now takes optional number of channels (range 16-256, default to 256) and polyphony (range 16-4096, default to 4096) to use.</li>
                <li class="listitem"><a class="link" href="UtilityAtsa.html" title="atsa"><em class="citetitle">atsa</em></a> utility safer when given silence.</li>
                <li class="listitem"><a class="link" href="ATSaddnz.html" title="ATSaddnz"><em class="citetitle">ATSaddnz</em></a>: improved checking.</li>
                <li class="listitem">Ambisonics (<a class="link" href="bformdec.html" title="bformdec"><em class="citetitle">bformdec</em></a>, <a class="link" href="bformenc.html" title="bformenc"><em class="citetitle">bformenc</em></a>) has more options for controlled opposites.</li>
                <li class="listitem">Bug in <a class="link" href="turnoff2.html" title="turnoff2"><em class="citetitle">turnoff2</em></a> fixed.</li>
                <li class="listitem"><a class="link" href="het_export.html" title="het_export"><em class="citetitle">het_export</em></a>: invalid check caused export to fail.</li>
              </ul>
            </div>
            <p>
          </p>
          </li>
          <li class="listitem">
            <p>
            Internal Changes:
            </p>
            <div class="itemizedlist">
              <ul class="itemizedlist" style="list-style-type: circle; ">
                <li class="listitem">Improved Windows installer.</li>
                <li class="listitem">CsoundVST replaced by CsoundAC, that does not depend on the VST SDK headers.</li>
                <li class="listitem">Less messages in Windows(MM) startup.</li>
                <li class="listitem">P argument type added (k-rate defaults to 1) for opcode in and out types.</li>
              </ul>
            </div>
            <p>
          </p>
          </li>
        </ul>
      </div>
      <p>
    </p>
      <h3><a id="idp70500944"></a>New in Version 5.06 (June 2007)</h3>
      <p>
    </p>
      <div class="itemizedlist">
        <ul class="itemizedlist" style="list-style-type: disc; ">
          <li class="listitem">
            <p>New granular opcodes:
          <a class="link" href="partikkel.html" title="partikkel"><em class="citetitle">partikkel</em></a>,
          <a class="link" href="partikkelsync.html" title="partikkelsync"><em class="citetitle">partikkelsync</em></a> and
          <a class="link" href="diskgrain.html" title="diskgrain"><em class="citetitle">diskgrain</em></a>.
        </p>
          </li>
          <li class="listitem">
            <p>New opcode for event dispatch:
          <a class="link" href="scoreline.html" title="scoreline"><em class="citetitle">scoreline</em></a>.
        </p>
          </li>
          <li class="listitem">
            <p>
          Many new opcodes from Gabriel Maldonado's CsoundAV:
          <a class="link" href="hvs1.html" title="hvs1"><em class="citetitle">hvs1</em></a>,
          <a class="link" href="hvs2.html" title="hvs2"><em class="citetitle">hvs2</em></a>,
          <a class="link" href="hvs3.html" title="hvs3"><em class="citetitle">hvs3</em></a>,
          <a class="link" href="vphaseseg.html" title="vphaseseg"><em class="citetitle">vphaseseg</em></a>,
          <a class="link" href="inrg.html" title="inrg"><em class="citetitle">inrg</em></a>,
          <a class="link" href="outrg.html" title="outrg"><em class="citetitle">outrg</em></a>,
          <a class="link" href="lposcila.html" title="lposcila"><em class="citetitle">lposcila</em></a>,
          <a class="link" href="lposcilsa.html" title="lposcilsa"><em class="citetitle">lposcilsa</em></a>,
          <a class="link" href="lposcilsa2.html" title="lposcilsa2"><em class="citetitle">lposcilsa2</em></a>,
          <a class="link" href="tabmorph.html" title="tabmorph"><em class="citetitle">tabmorph</em></a>,
          <a class="link" href="tabmorpha.html" title="tabmorpha"><em class="citetitle">tabmorpha</em></a>,
          <a class="link" href="tabmorphi.html" title="tabmorphi"><em class="citetitle">tabmorphi</em></a>,
          <a class="link" href="tabmorphak.html" title="tabmorphak"><em class="citetitle">tabmorphak</em></a>,
          <a class="link" href="trandom.html" title="trandom"><em class="citetitle">trandom</em></a>,
          <a class="link" href="vtable1k.html" title="vtable1k"><em class="citetitle">vtable1k</em></a>,
          <a class="link" href="slider8table.html" title="slider8table"><em class="citetitle">slider8table</em></a>,
          <a class="link" href="slider16table.html" title="slider16table"><em class="citetitle">slider16table</em></a>,
          <a class="link" href="slider32table.html" title="slider32table"><em class="citetitle">slider32table</em></a>,
          <a class="link" href="slider64table.html" title="slider64table"><em class="citetitle">slider64table</em></a>,
          <a class="link" href="slider8tablef.html" title="slider8tablef"><em class="citetitle">slider8tablef</em></a>,
          <a class="link" href="slider16tablef.html" title="slider16tablef"><em class="citetitle">slider16tablef</em></a>,
          <a class="link" href="slider32tablef.html" title="slider32tablef"><em class="citetitle">slider32tablef</em></a>,
          <a class="link" href="slider64tablef.html" title="slider64tablef"><em class="citetitle">slider64tablef</em></a>,
          <a class="link" href="sliderKawai.html" title="sliderKawai"><em class="citetitle">sliderKawai</em></a>
          and the a-rate version of
          <a class="link" href="ctrl7.html" title="ctrl7"><em class="citetitle">ctrl7</em></a>.
        </p>
          </li>
          <li class="listitem">
            <p>
          Also from CsoundAV, many new FLTK widget opcodes:
          <a class="link" href="FLkeyIn.html" title="FLkeyIn"><em class="citetitle">FLkeyIn</em></a>,
          <a class="link" href="FLslidBnk2.html" title="FLslidBnk2"><em class="citetitle">FLslidBnk2</em></a>,
          <a class="link" href="FLvslidBnk.html" title="FLvslidBnk"><em class="citetitle">FLvslidBnk</em></a>,
          <a class="link" href="FLvslidBnk2.html" title="FLvslidBnk2"><em class="citetitle">FLvslidBnk2</em></a>,
          <a class="link" href="FLmouse.html" title="FLmouse"><em class="citetitle">FLmouse</em></a>,
          <a class="link" href="FLxyin.html" title="FLxyin"><em class="citetitle">FLxyin</em></a>,
          <a class="link" href="FLhvsBox.html" title="FLhvsBox"><em class="citetitle">FLhvsBox</em></a>,
          <a class="link" href="FLslidBnkSet.html" title="FLslidBnkSet"><em class="citetitle">FLslidBnkSet</em></a>,
          <a class="link" href="FLslidBnkSetk.html" title="FLslidBnkSetk"><em class="citetitle">FLslidBnkSetk</em></a>,
          <a class="link" href="FLslidBnk2Set.html" title="FLslidBnk2Set"><em class="citetitle">FLslidBnk2Set</em></a>,
          <a class="link" href="FLslidBnk2Setk.html" title="FLslidBnk2Setk"><em class="citetitle">FLslidBnk2Setk</em></a>,
          <a class="link" href="FLslidBnkGetHandle.html" title="FLslidBnkGetHandle"><em class="citetitle">FLslidBnkGetHandle</em></a>,
        </p>
          </li>
          <li class="listitem">
            <p>
          New pvs opcodes:
          <a class="link" href="pvsdiskin.html" title="pvsdiskin"><em class="citetitle">pvsdiskin</em></a>,
          <a class="link" href="pvsmorph.html" title="pvsmorph"><em class="citetitle">pvsmorph</em></a>,
        </p>
          </li>
          <li class="listitem">
            <p><a class="link" href="eqfil.html" title="eqfil"><em class="citetitle">eqfil</em></a>
        </p>
          </li>
          <li class="listitem">
            <p>New command line options (<a class="link" href="CommandFlagsCategory.html#FlagsCatMinusLowerMW"><em class="citetitle">--m-warnings</em></a>)to control messages
        </p>
          </li>
          <li class="listitem">
            <p>
          csladspa: a CSD to LADSPA plugin kit.
        </p>
          </li>
          <li class="listitem">
            <p>
          And many bug fixes including (but not limited to): fixed k-rate version of <a class="link" href="system.html" title="system"><em class="citetitle">system</em></a>; fixed scaling problems of <a class="link" href="vrandh.html" title="vrandh"><em class="citetitle">vrandh</em></a> and <a class="link" href="vrandi.html" title="vrandi"><em class="citetitle">vrandi</em></a>; fixed ocasional failure of <a class="link" href="turnoff.html" title="turnoff"><em class="citetitle">turnoff</em></a>; fixed  <a class="link" href="tempest.html" title="tempest"><em class="citetitle"></em></a> OS X bug; fixed <a class="link" href="ATScross.html" title="ATScross"><em class="citetitle">ATScross</em></a> and fixed <a class="link" href="modulus.html" title="%"><em class="citetitle">mod</em></a>.
        </p>
            <p>Csound5GUI now works properly on all platforms and csoundapi~ (pd object) has been updated.
        </p>
          </li>
        </ul>
      </div>
      <p>
  </p>
    </div>
    <div class="navfooter">
      <hr />
      <table width="100%" summary="Navigation footer">
        <tr>
          <td width="40%" align="left"><a accesskey="p" href="PrefaceGettingStarted.html">Prev</a> </td>
          <td width="20%" align="center">
            <a accesskey="u" href="PrefaceTop.html">Up</a>
          </td>
          <td width="40%" align="right"> <a accesskey="n" href="PartOverview.html">Next</a></td>
        </tr>
        <tr>
          <td width="40%" align="left" valign="top">Getting Started with Csound </td>
          <td width="20%" align="center">
            <a accesskey="h" href="index.html">Home</a>
          </td>
          <td width="40%" align="right" valign="top"> Part I. Overview</td>
        </tr>
      </table>
    </div>
  </body>
</html>
